我正在阅读在节点中使用requirejs的文档。但我很困惑“将顶级js文件传递给requirejs”.Below是require.js文档的一部分:
var requirejs = require('requirejs');
requirejs.config({
//Pass the top-level main.js/index.js require
//function to requirejs so that node modules
//are loaded relative to the top-level JS file.
nodeRequire: require
});
这行代码是什么:“nodeRequire:require”是什么意思? 我注释掉这一行并要求在节点上正确运行。
答案 0 :(得分:1)
在你的第一行,你正在使用require()
- node.js的函数。
var requirejs = require('requirejs');
这意味着“真实”功能存储在名为“require”的变量中。您现在将此功能传递给requirejs。
requirejs.config({
nodeRequire: require
});
您目前位于顶级目录中,例如/path/myproject
。现在,如果您需要/path/myproject/lib/another.js
内的内容,则会加载相对于/path/myproject
而非/path/myproject/lib/another.js
的模块。
尝试一下,需要一个子目录中的模块,包括和不包含nodeRequire: require
。