在节点中创build文件全局variables

我的问题是我厌倦了写作:

var mongoose = require('mongoose'); var Schema = mongoose.Schema; var mongooseTypes = require("mongoose-types"); mongooseTypes.loadTypes(mongoose, 'url'); var Url = mongoose.SchemaTypes.Url; var mongooseTypes = require("mongoose-types"); .... 

在每一个模式文件中。 有没有办法让你需要在该文件中设置mongoose,纲要和mongooseTypesvariables的模块?

我可以这样做:var mongooseTypes = require(mongoose-global-stuff.js).mongooseTypes; 但是,那么我一次一个地定义每个variables,在这里我什么都没有得到。

我只是发现这个问题,因为事情是如何定义的mongoose。

你可以有一个单独的模块(比如说'moongoose-wrapper'):

 var mongoose = require('mongoose'); var mongooseTypes = require("mongoose-types"); mongooseTypes.loadTypes(mongoose, 'url'); module.exports.mongoose = mongoose; module.exports.Schema = mongoose.Schema; module.exports.mongooseTypes = require('mongoose-types'); module.exports.Url = mongoose.SchemaTypes.Url; 

然后像这样使用它:

 var mongoose = require('./path/to/mongoose-wrapper'); mongoose.mongooseTypes.doSomethingWithMongooseTypes(); mongoose.Url.doSomethingWithUrl(); ...