这两个require
陈述似乎相同的方式工作:
var Mypackage = require('mypackage.js');
var Mypackage require('mypackage');
他们之间有区别吗?
这两个require
陈述似乎相同的方式工作:
var Mypackage = require('mypackage.js');
var Mypackage require('mypackage');
他们之间有区别吗?
下面是答案:
Module.prototype.load = function(filename) {
debug('load ' + JSON.stringify(filename) +
' for module ' + JSON.stringify(this.id));
assert(!this.loaded);
this.filename = filename;
this.paths = Module._nodeModulePaths(path.dirname(filename));
var extension = path.extname(filename) || '.js';
if (!Module._extensions[extension]) extension = '.js';
Module._extensions[extension](this, filename);
this.loaded = true;
};
http
, fs
等)总是在装载模块的优先级。 http
, fs
等),Node.js的然后将开始搜寻一个新的目录, node_modules
。 node_modules
文件夹,则它将尝试加载给定的模块或者作为(的.js)JavaScript文件或命名子目录; 如果发现指定的子目录,它就会试图加载各种方式的文件。 因此,例如 node_modules
和utils
在以下几个方面: ./node_modules/utils.js
./node_modules/utils/index.js
./node_modules/utils/package.json
NODE_PATH
你的机器(当然由Node.js的安装程序文件设置,如果你是在Windows上设置)在所有然后上述步骤没有找到,将打印一个堆栈跟踪stder Error:
Cannot find module 'yourfile'