【发布时间】:2016-03-16 20:17:00
【问题描述】:
nodejs 是否有一些我不需要的全局模块? 我只是想知道为什么我的代码在一段时间前有效)))
module.exports = {
get: function(req, res){
//some code here
_.map(req.query.data, function (val, key) {
//come code here
});
//some code here
async.parallel([......])
re.send(.....)
}
}
我不需要下划线和异步模块,它一直工作到今天。今天它抛出了错误。基本上我在文件顶部添加了“var async = require('async)”,它又开始工作了。 但是我没有添加 _ = require('underscore') 并且仍然可以访问所有下划线方法。
谁能帮我解决这个问题?如有任何建议,我将不胜感激
【问题讨论】:
-
模块有自己的“全局”范围,所以它们不能访问其他模块库。能否提供完整的模块代码?
-
所有模块应该在它们依赖的其他模块中
require()。这就是使模块可重用的方式。将自己附加到全局对象的模块通常是一种不好的做法。这样做可能会在其他模块中节省一些require()语句,但是它会使事情依赖于加载顺序,并且如果单独使用它会使模块无法工作。如果不查看您的整个项目,我们就无法知道您发生了什么情况。但是,您可以通过要求您的模块使用的所有东西来“修复”您的代码。
标签: javascript node.js