Egg项目的一些初始化配置

162 阅读1分钟

Egg项目初始化

$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple
$ npm i

启动项目

$ npm run dev
$ open http://localhost:7001

提交表单

获取post请求的参数:this.ctx.request.body

获取url中?page=参数: this.ctx.query.page

CSRF指跨站请求伪造,Egg中对Post请求做了一些安全验证,可以在 config.default.js文文件中,通过下面的设置验证。

config.default.js
config.security = {
    csrf: {
    	enable: false
    }
};

跨域插件

Egg-cors

  1. npm install --save egg-cors
    
  2. 在plugin.js文件中引入插件

    plugin.js
    cors: {
    	enable: true,
    	package: 'egg-cors',
    }
    
  3. 在 config.default.js 文件中配置 egg-cors 插件

    config.default.js
    config.cors = {
    	origin: "*",
    	allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
    };
    

token插件

  1. 安装egg-jwt插件:

    npm install --save egg-jwt
    
  2. 在plugin.js中引入插件

    jwt: {
        enable: true,
        package: "egg-jwt"
    }
    
  3. sl配置 config.default.js 文件, 设置 secret ;注意,secret不能泄露

    config.jwt = {
    	secret: "roc",   // 生成token所需的密钥
        expiresIn: '12h'     // 过期时间
    };
    
  4. 生成Token

    const jwt = require('jsonwebtoken');         // 映入jwt
    const token = jwt.sign({账号,密码}, 'keys')   // 第一个参数是一个对象可以是账号密码,第二个参数填配置的密钥
    
  5. 解密token

const jwt = require('jsonwebtoken');
jwt.verify(token,'keys')    // 第一个参数填token,第二个参数填配置的密钥