fastify
我有一个运行fastify-objectionjs
.
为了整洁,我想将所有模型分组到一个名为 的文件中,在该文件中导出文件夹_main.js
内的模型数组。models
由于 fastify-objectionjs 注册需要一个模型数组,我想我可以从我的导入数组_main.js
并将其原样提供给注册函数。
但是 ObjectionJS 告诉我提供的模型无效。
/app.js(节点入口点)
const fastify = require('fastify')({
logger: true
})
const knexConfig = require('./knexfile')
const dataLayer = require('./models/_main')
fastify.register(require('fastify-objectionjs'), {
knexConfig: knexConfig,
models: dataLayer
})
// Also tried:
// fastify.register(require('fastify-objectionjs'), {
// knexConfig: knexConfig,
// models: [dataLayer]
// })
/models/_main.js
const User = require('./user.model')
var dataLayer = [User]
module.exports = dataLayer
// Also tried without var:
// module.exports = {
// dataLayer: [
// User
// ]
// }
/models/user.model.js
const Knex = require('knex')
const connection = require('../knexfile')
const { Model } = require('objection')
const knexConnection = Knex(connection)
Model.knex(knexConnection)
class User extends Model {
static get tableName () {
return 'users'
}
}
module.exports = { User }
我似乎在文件流中找不到问题,但如果我动态创建模型数组,应用程序会顺利启动:
/app.js(节点入口点)
const fastify = require('fastify')({
logger: true
})
const knexConfig = require('./knexfile')
const User = require('./models/user.model') // changed
fastify.register(require('fastify-objectionjs'), {
knexConfig: knexConfig,
models: [User] // changed
})
知道为什么这不起作用吗?在此先感谢您的时间。