如何在node.js中实现“本地模块”对象?

时间:2016-07-26 19:48:15

标签: javascript node.js

(这出现在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: {} }

但它在文件中不起作用。

如何实施requiremoduleexports等?

有没有办法可靠地访问给定require的{​​{1}}?

1 个答案:

答案 0 :(得分:0)

您可以在主文件中添加类似的内容。

global.lodash = require('lodash');

这将使lodash在全局范围内(在所有模块中)可用。但并不是真的建议将全球范围混为一谈。