node :9 express模块

express是nodeapi下的一个web开发框架。(一个早期的框架)

示例代码:

// 1.安装express
// npm i -P express

// 2.引入express模块
const express = require("express");
const path = require("path");

// ps:express 完全兼容connect用法。
let app = express();

// 指定静态资源,进行代码托管 (注册唯一内置的中间件:static)
app.use(express.static(path.join(__dirname, "dist")));

// 3.1 采用完全兼容connect的写法。(该写法很底层)
// app.use((req, res, next)=>{
//     console.log("中间件1");
//     next();
// });
// app.use((req, res, next)=>{
//     console.log("中间件2");
//     next();
// });
// app.use((req, res)=>{
//     console.log("中间件3");
//     res.write("回复1234");
//     res.end();
// });

// 3.1
app.get("*", (req, res, next)=>{ // get * 代表所有请求执行
    console.log("get *")
    console.log(req.param('id'));
    console.log(req.param('name'));

    next();
});

app.get("/api", (req, res)=>{ 
    console.log("/api");
    
    res.send("21123");
    res.end();
});



// 监听5888
app.listen(5888, ()=>{
    console.log("监听5888。。。。")
}); 

ps:

  • 代码保存好后就直接应用,不用每次都重启,采用工具nodemon。(可以安装的时候安装到全局环境下,npm i -g nodemon)
    • 安装npm i -g nodemon
    • 使用 nodemon xx.js

用express框架

1.

示例代码:

// 引入对应的模块
const express = require("express");
const path = require('path');

const app = express(); // 创建app对象

// 设置监听
app.listen(58888, ()=>{
    console.log("http://127.0.0.1:58888");
});

// 用express提供的静态目录的中间件
app.use(express.static(path.join(__dirname, "public")));

// 动态的返回数据
app.get("/usr/list", (req, res)=>{
    res.send("abd");
    res.end();
});

2.使用模板引擎

模板引擎:art-template (一个简约、超快的模板引擎)
                  安装:npm i -P art-template
                             npm i -P express-art-template

使用步骤:

  1. 引入art-template的包
  2. 项目中设置express的应用
  3. 动态返回数据时,使用render来渲染模板

示例:

1.工程目录结构:

2. app.js

// 引入对应的模块
const express = require("express");
const path = require('path');
const art_express = require("express-art-template");

const app = express(); // 创建app对象

// 设置art的模板引擎
app.engine('art', art_express);
// 将views下的.html文件改为.art文件
// 在settings.json中加入:
// "files.associations": {
//     "*.art": "html",
//     "*.html": "html"
// }

// 设置监听
app.listen(58888, ()=>{
    console.log("http://127.0.0.1:58888");
});

// 用express提供的静态目录的中间件
app.use(express.static(path.join(__dirname, "public")));

// 动态的返回数据
app.get("/usr/list", (req, res)=>{
    // res.send("abd");
    // res.end();
    // 使用art模板
    res.render("usrlist.art", { // render方法:第一个参数是模板的文件名(默认从根目录下的views文件夹进行搜索查找),第二个参数是给模板的数据。
        title: "hello!",
        users: [{
            name: 'lili',
            id: 1221
        },{
            name: 'sdfe',
            id: 3331
        }
        ]
    })
});

3. usrlist.art

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!-- 两个花括号 {{}} 表示接收来自title的值 -->
    <h2>{{title}}</h2> 
    {{each users as val index }}
    <p> {{index}} --- {{val.id}} ---- {{val.name}} </p>
    {{/each}}
</body>
</html>

4. index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>index</title>
</head>
<body>
    <h1>Welcome to learn express!</h1>
    <h2>(这是我们这个简单express工程 静态目录的主页面)</h2>
</body>
</html>

运行示例:

3.模拟数据生成

采用mock.js

使用:

  1. 安装:npm i -D mockjs    (在开发阶段用 -D)
  2. 使用(见官网)

4.使用mocha进行单元测试

5.后记

该express示例工程代码见node:10 小总结

发布了191 篇原创文章 · 获赞 1 · 访问量 4685

猜你喜欢

转载自blog.csdn.net/bluebloodye/article/details/103177259