egg 安装运行
1、初始化:
npm init egg --type=simple
选择 simple boilerplate
2、下载依赖包:
npm install
3、运行项目:
npm run dev
egg 配置 nunjucks 模板引擎
1、npm install egg-views-nunjucks -save
2、打开目录文件 config / config.default.js ,写入配置
config.view = {
defaultViewEngine: 'nunjucks'
}
3、打开目录文件 config / plugins ,写入配置
nunjucks: {
enable: true,
package: 'egg-view-nunjucks'
}
4、目录文件的 app 下新建 view 文件夹,里面放置 html 文件(模板引擎默认去找view文件夹)
egg 安装 sequelize(连接、使用数据库)
1、下载 egg-sequelize:
npm install --save egg -sequelize mysql2
2、在 config / plugin.js 中引入插件
sequelize: {
enable: true,
package: 'egg-sequelize'
},
3、在 config / config.default.js 中配置数据库连接
config.sequelize = {
dialect: 'mysql', // 数据的类型
database: 'egg_database', // 数据库名称
host: 'localhost', // 数据库地址
port: 3306, // 数据库端口
username: 'root', // 数据库用户名
password: '666666', // 数据库密码
timezone: '+08:00', //时区:北京时间
};
MySQL 数据类型与 sequelize数据类型对应如下
STRING ==> varchar(255)
INTEGER ==> int
DOUBLE ==> double
DATE ==> datetime
TEXT ==> text
4、在 app 中新建 model 文件夹, model 中定义表、创建数据模型
例如:
momodule.exports = app => {
const { STRING, INTEGER, DATE } = app.Sequelize
const User = app.model.define('user', {
// id默认自动生成,默认自增,默认设为主键
// 用户名
username: {
type: STRING,
allowNull: false,
},
// 密码
password: {
type: STRING,
allowNull: false,
},
// 电话
phone: INTEGER,
// 邮件
mail: STRING,
// 创建时间
createtime: {
type: DATE,
allowNull: false,
},
// 更新时间
updatetime: DATE,
})
return User
}
5、添加 app.js 文件,初始化数据库
module.exports = app => {
// 系统启动时执行这个函数
// sync() model的方法,会根据 app / model 下的模型创建表
app.beforeStart(async function () {
// await app.model.sync({ force: true }) // 开发环境使用,会删除数据
await app.model.sync({})
})
}