rdr*_*rey 1 mongoose node.js coffeescript
我正在使用mongoose @ 2.0.4,我想mongoose.connect()在模块中整齐地抽象掉调用.
所以使用nodejs,我希望以下工作:
在myMongoose.coffee:
mongoose = require 'mongoose'
mongoose.connect 'mongodb://localhost/test'
@exports = mongoose
Run Code Online (Sandbox Code Playgroud)
并用于: MyModel.coffee
mongoose = require 'myMongoose'
console.log mongoose #Prints massive object (including Schema)
Schema = mongoose.Schema
console.log Schema # undefined
Run Code Online (Sandbox Code Playgroud)
为什么访问像Schema不起作用的子元素(技术上是构造函数,我认为)?即使添加@exports.Schema = mongoose.Schema到myMongoose.coffee也无法解决问题.
你必须设置
module.exports = mongoose
您无法exports使用新对象覆盖.您只能添加属性exports.
这是因为您的模块实际上是以下内容:
(function(require, module, exports, process) {
// your code
})();
Run Code Online (Sandbox Code Playgroud)
exports 只是一个参数,重新分配它什么都不做.
所以如果要覆盖导出使用module.exports.如果你想扩展exports使用exports.Foo
但是,如果你覆盖module.exports它,最安全的是继续写入module.exports而不是exports
| 归档时间: |
|
| 查看次数: |
1230 次 |
| 最近记录: |