Nodejs: как экспортировать несколько объектов?
Я новичок в Nodejs. Как экспортировать несколько объектов? Например
fs = require("fs")
Sequelize = require 'sequelize'
module.exports = (config)->
sequelize = new Sequelize(
config.database.name
config.database.username
config.database.password
config.database.options
)
fs.readdirSync(config.root+'/server/models/').forEach (file)->
module.exports['Page'] = sequelize.import(config.root + '/server/models/' + file) # --> export this model
sequelize # --> export this object
Я хочу использовать Page
модель что-то типа:
Page = require('./models').Page
Я хочу использовать Sequelize
объект что-то вроде:
Sequelize = require('./models').Sequelize
Спасибо за совет: D
обновлено: Решено следующим образом:
fs = require("fs")
Sequelize = require 'sequelize'
module.exports = (config)->
@Sequelize = new Sequelize(
config.database.name
config.database.username
config.database.password
config.database.options
)
fs.readdirSync(config.root+'/server/models/').forEach (file)->
@Page = sequelize.import(config.root + '/server/models/' + file)
@
но у меня есть еще одна проблема. Как динамически назначать модели?
обновлено Решена вторая проблема следующий путь:
fs = require("fs")
Sequelize = require 'sequelize'
module.exports = (config)->
@Sequelize = new Sequelize(
config.database.name
config.database.username
config.database.password
config.database.options
)
# @Page = sequelize.import(config.root + '/server/models/page')
fs.readdirSync(config.root+'/server/models/').forEach (file)->
str = file.replace('.coffee', '')
model = str.charAt(0).toUpperCase() + str.slice(1)
@[model] = @Sequelize.import(config.root + '/server/models/' + file) if ~file.indexOf('.coffee')
@
1 ответов
просто оберните их в литерал объекта. В чистом JS (без CoffeeScript) это было бы:
module.exports = {
Page: {}, // or whatever you want to assign it to
Serialize: {} // again, set it to what you like
};
в coffeescript вы используете отступы, за исключением случаев, когда вы хотите сделать пустой объект:
module.exports =
Page: {},
Serialize: {}