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 

谢谢你的build议: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) @ 

但我还有一个问题。 如何dynamic分配模型?

更新解决的第二个问题如下:

 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') @ 

只要把它们包装在一个对象字面上。 在纯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: {}