安装
$ mkdir 创建目录 && cd 创建目录 $ npm init egg --type=simple $ npm i网址
// 使用post 会报 csrf token 问题 // 安装 : npm i egg-cors - save // 配置插件 // config/plugin.js // 跨域的插件 cors: { enable: true, package: 'egg-cors' }
// config/config.default.js // 关闭csrf 开启跨域 config.security = { // 关闭csrf csrf: { enable: false }, //跨域白名单 domainWhiteList: ['http://127.0.0.1:8080'] }; // 允许跨域的方法 config.cors = { origin: '*', allowMethods: 'GET,PUT,POST,DELETE,PATCH' };
ctx
获取url问号get传值参数 : this.ctx.query 获取:id 传递过来的参数 : this.ctx.params 获取post请求传递的参数 : this.ctx.request.body 修改状态码 : this.ctx.status创建数据库和数据表
操作数据库和表 ==> 叫做模型// app/model/user.js 'use strict'; module.exports = (app) => { const { INTEGER, STRING, DATE, ENUM } = app.Sequelize; // 配置(重要:一定要配置详细,一定要!!!) const User = app.model.define('user', { id: { type: INTEGER(20).UNSIGNED, primaryKey: true, //主键 autoIncrement: true //自增 }, username: { type: STRING(30), allowNull: false, //不允许为空 defaultValue: '', //默认值为空 comment: '用户名称', //备注用户名 unique: true //唯一性 }, password: { type: STRING(200), allowNull: false, defaultValue: '', }, avatar_url: { type: STRING(200), allowNull: false, defaultValue: '', }, sex: { type: ENUM, values: ['男', '女', '保密'], allowNull: false, defaultValue: '男', comment: '用户性别', }, created_at: DATE, updated_at: DATE, }); return User; };
这个 Model 就可以在 Controller 和 Service 中通过 app.model.User
或者 ctx.model.User
访问到了