egg + nunjucks + sequelize初始化配置

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({})
    })

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值