我现在经常使用 Sails,并且有一个练习题。现在,当我想在项目中一遍又一遍地使用 NPM 包时,我在我的 config/bootstrap.js 文件中添加了类似的内容:
module.exports.bootstrap = function(cb) {
sails.Q = require('q');
sails.url = require('url');
...
cb();
};
我这样做是为了在任何 Controller 中使用像 Q 这样的包,而不必多次 require('q')
。我只是在需要时执行 sails.Q.[...]
。有没有更好的方法来实现同样的目标?我宁愿能够通过 Q.[...]
而不是 sails.Q.[...]
来引用该包。有谁知道更好的方法吗?
最佳答案
如果只是为了节省击键次数,您确实应该添加
var Q = require('q')
在您使用它的每个文件的顶部。 require()
不会每次都重新评估该模块。第一次调用后,调用它只是从缓存中获取模块的导出,因此每个文件使用一次它没有任何开销。
但是,如果您承认这是不好的做法并且对此表示同意,则可以将其导出到全局范围内,如下所示:
global.Q = require('q')
这将允许您从任何文件引用Q
。
关于javascript - Sails.js 全局引用一个包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36575540/