[英]is there better ways other than including require('mongoose') in every models file?
我需要在主app.js文件中使用一次mongoose。 我可以将它传递给用户。
var mongoose = require('mongoose');
没有加载它? 在每个文件中。 每次我需要相同的模块时脚本不做额外的工作吗?
var User = require('./models/user')
从节点文档
模块在第一次加载后进行缓存。 这意味着(除其他外)每次调用require('foo')将获得完全相同的返回对象,如果它将解析为同一个文件。
多次调用require('foo')可能不会导致模块代码多次执行。
看看缓存 。
全局仍然可以要求mongoose模块。 而不是var mongoose = require('mongoose');
只写mongoose = require('mongoose');
。 然后,您将能够从任何其他模块访问mongoose。
如果您使用的是coffeescript,则必须显式添加到globals对象。
在utils文件中,全局需要您需要的所有内容:
//utils.js
globals['mongoose] = require('mongoose');
globals['fs'] = require('fs-extra');
现在在所有脚本中,您只需要需要utils文件。 :
require('./utils');
console.log('fs is ' + fs);
console.log('mongoose is ' + mongoose);
我在创建测试实用程序文件时经常使用它,但我没有必要使用它生成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.