是否有一个 Node.js 相当于 PHP 的包含,以便包含的代码可以访问父文件的变量

Is there a Node.js equivalent to PHP's include, so that included code has access to the parent file's variables?

本文关键字:包含 代码 访问 变量 文件 Node 有一个 js 相当于 PHP 是否      更新时间:2023-09-26

我想将我的 Node 应用程序拆分为几个单独的文件,以使其更加模块化且更易于维护。

但是由于无法像PHP等其他语言那样将文件直接"包含"到当前解析的文件中,因此我的"模块"或"单独文件"不会自动访问脚本中定义的变量"需要"它们。

我该怎么做?

我正在考虑在我的单独文件中做这样的事情:

module.exports = function(stuff) {
  //I now have access to 'stuff'.
}

但这有点麻烦。

我相信有人已经在我之前解决了这个问题,所以......你有什么建议?

跨模块共享变量的最简单方法是将变量分配给全局命名空间对象。声明如何在浏览器中全局声明的变量在 Node 中仍然是特定于模块的,因此有一个global对象。

使用全局范围被认为是不好的做法,但可能比其他方法简单得多:

傅.js

global.num = 3;
global.str = 'a string';
require('./bar');

酒吧.js

console.log(num);  // 3
console.log(str);  // a string