我每个 model 都写了一个 js 文件类似于
var mongoose = require("mongoose");
const UserSchema = new mongoose.Schema({
username: { type: String, unique: true },
password: { type: String}
})
const User = mongoose.model('UsersClass', UserSchema)
module.exports = User
然后再到 app.js 引入
User = require('./modules/user')
但是如果我写了 20 个 model,那我就要在 app.js 引入 20 次,有什么方法能够解决 谢谢大佬们指教
1
X41822N 2019-09-19 17:23:55 +08:00
写代码遍历你的 model 文件呗
|
2
ZehaiZhang 2019-09-19 17:25:29 +08:00
所以 egg 就很好了 this.ctx.model.User 就可以访问了
|
3
wednesdayco 2019-09-19 17:26:24 +08:00
所以为什么你每个 model 要单独写一个文件。。。。
|
4
arrow8899 2019-09-19 17:30:23 +08:00
需要的时候再引用啊,其他语言都是一样的啊
|
6
niknik OP @wednesdayco 写在一起确实解决了这个问题,但是想把 model 分开,代码更漂亮,嘻嘻
|
8
niknik OP 谢谢楼上大佬们
|
9
wednesdayco 2019-09-19 17:35:32 +08:00
@niknik 并不觉得你这么分开有多美观,难道不是应该把这几个地方抽象么
|
10
luob 2019-09-19 17:47:49 +08:00 via iPhone
并没有取巧的办法,只有那些带自动依赖注入系统的框架才能做到自动把定义的 model,controller 等东西按需注入到 app 中。如果不想使用 eggjs,nestj 等真正意义上的框架,只能自己手动一个一个 import
|
11
LZYPPP 2019-09-19 18:36:00 +08:00
|