繁体   English   中英

除了在每个模型文件中包含require('mongoose')之外,还有更好的方法吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM