(这出现在https://github.com/daurnimator/lua.vm.js/issues/57#issuecomment-235377158)
在node.js中,某些函数/对象不是真正的全局变量,而是“每个模块的本地”,例如来自https://nodejs.org/api/all.html#globals_require
require实际上并不是全局的,而是每个模块的本地。
global.require
似乎在node.js REPL中起作用:
$ node
> require
{ [Function: require]
resolve: [Function: resolve],
main: undefined,
extensions: { '.js': [Function], '.json': [Function], '.node': [Function] },
cache: {} }
> global.require
{ [Function: require]
resolve: [Function: resolve],
main: undefined,
extensions: { '.js': [Function], '.json': [Function], '.node': [Function] },
cache: {} }
但它在文件中不起作用。
如何实施require
,module
,exports
等?
有没有办法可靠地访问给定require
的{{1}}?
答案 0 :(得分:0)
您可以在主文件中添加类似的内容。
global.lodash = require('lodash');
这将使lodash在全局范围内(在所有模块中)可用。但并不是真的建议将全球范围混为一谈。