是否有一个 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 应用程序拆分为几个单独的文件,以使其更加模块化且更易于维护。
但是由于无法像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
相关文章:
- 货币代码为欧元-金额的格式不应包含小数
- HTML标记,包含带引号的JavaScript代码中的引号
- 是否可以在JavaScript中包含HTML代码
- 包含的文件中引发引用错误..除非调用文件包含慢速代码
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- 包含的PHP页面中的jQuery代码
- URL中包含特殊字符的HTTP状态代码
- 无法修改Controls集合,因为控件包含代码块(即<%.%>).无法更正此错误
- 如何从包含HTML代码和许多UL标签及其ID的JavaScript变量A中获取
- ID
- 无法修改控件集合,因为控件包含代码块(即<%.%>)
- 正则表达式替换包含代码的字符串
- 无法修改控件集合,因为控件包含代码块(即 <% ..%>) Ajax 工具包 HTML 编辑器
- jQuery“包含”代码在Chrome上不起作用
- 将包含代码的字符串拆分为var's和值
- JavaScript倒计时计时器未启动[包含代码]
- AngularJS -在外部JS文件或HTML中包含代码
- 控件集合不能被修改,因为控件包含代码块(即<% ..)%祝辞)
- Asp.net在类库中编译js作为嵌入资源,其中包含c#代码
- 无法修改控件集合,因为控件包含代码块(即 <% .. %>).Telerik.Web.UI.RadAjaxControl
- 使用<%=getter%>在aspx文件中,不能修改控件集合,因为控件包含代码块