sequelize的文档为什么建议用sequelize.import()的方式将model来分成模块
koa
或express
中用sequelize
一般都要把一个个model
放到单文件,官方文档给了一个奇怪的做法,它自己提供了个import的方法,然后让model单文件导出一个函数
// in your server file - e.g. app.js
const Project = sequelize.import(__dirname + "/path/to/models/project")
// The model definition is done in /path/to/models/project.js
// As you might notice, the DataTypes are the very same as explained above
module.exports = (sequelize, DataTypes) => {
return sequelize.define("project", {
name: DataTypes.STRING,
description: DataTypes.TEXT
})
}
https://github.com/sequelize/...
这个官方样例更详细
但是我觉得我这样写,模块化会更舒服一点
// sequelize.js
import Sequelize from 'sequelize'
const sequelize = new Sequelize({
...
})
export default sequelize
// model/modelA.js
import Sequelize from 'sequelize'
import sequelize from './sequelize'
export default sequelize.define("project", {
name: Sequelize.STRING,
description: Sequelize.TEXT
})
// in route
import modelA from 'path/to/model/modelA'
// or by using model/index.js
import { modelA } from 'path/to/model'
不知道我的想法会有什么问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决nodejs require module时循环引用会导致undefined的问题
这个一般在定义关联的时候会用。
目前我的做法是把所有model的关联放到一个js去做