Express

Express总结

开发前准备:

nodejs

sudo npm install express-generator -g 初始化器
express 初始化项目

npm run start 启动

sudo npm install -g nodemon 自动化工具
"devstart": "nodemon ./bin/www"

使用

//开启静态服务器
// app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static('public'));
app.use('/static',express.static('public'));// 给静态资源添加自定义路径
app.use(express.static('static'));可以指定多个目录作为静态资源文件

静态路径是上边,动态路径叫路由。

HTTP请求方式: 增删改查,post,get,put,delete

post 增加

get 查询

put 更新

delete 删除

var express = require('express')
var router = express.Router() 

//express.Router类,创建模块化安装路径的处理程序。
//app.route()函数,创建可链接的途径处理程序的路由路径。

var json = {
    name:'fan',
    sex: 1,
    age: 28,
    uid: 12
}

// http://localhost:3000/fan/
router.get('/', function (req,res,next) {
    res.send(json)
    next()
})

router.post('/', function (req,res,next) {
    res.send('post data')
    next()
})
router.put('/', function (req,res,next) {
    res.send('put data')
    next()
})
router.delete('/', function (req,res,next) {
    res.send('delete data')
    next()
})

// use 可以以上4种请求,统一处理
router.use('/',function (req,res,next) {
    res.send('use 监听所有的请求')
    next('route')//跳转下一个路由
})
module.exports = router

​ next(‘route’)//跳转下一个路由

模板引擎

// 模板引擎
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

响应response

渲染

res.render(‘login’, {title: ‘用户登录’, message:’message 消息变量’})

res.send 文本

// 返回json数据

res.json(user)

设置浏览器存储 cookie:res.cookie(‘token’,token);

获取cookie: $.cookie(‘token’) 需要依赖 jquery.cookie.js

状态保持

session 或 token

推荐使用token

yarn add jsonwebtoken token第三方库

        // 进行加密的方法
    // sing 参数一:加密的对象 参数二:加密的规则 参数三:对象
    let token = jwt.sign({
        username: username
    }, 'secret-abc', {
        expiresIn: "1h"
    })
    // server 拿到token
    req.get('Authorization')
    // 验证token合法性 对token进行解码
    jwt.verify(token, 'secret-abc', function (err, decode) {
        if (err) {
            res.json({
                msg: '当前用户未登录'+err
            })
        } else {
            // 证明用户已经登录
            res.json(
                username: decode.username,
                msg: '已登录'
            })
        }
    })

发布

npm build后生成的编译文件放在dist目录中

将此目录中的文件方法服务端即可,访问index.html

Error

问题:引入bootstrap..min.css的时候出现了URL:bootstrap.min.css.map 404的错误。

解决方法:
将bootstrap.min.css里的最后一行
/*# sourceMappingURL=bootstrap.min.css.map */删除即可