有可能'要求'Node.js中可以访问导入文件全局范围的对象
Is it possible to 'require' a object in Node.js that can access the importing files global scope?
我已经四处搜索了一下,看看这是否可能。到目前为止,据我所知,情况并非如此。
在我的main.js
文件中,我有以下代码:
var commands = require('./commands.js');
它从commands.js
导入一个对象,该对象按以下方式设置:
module.exports = {
var1: "something" + somevar,
var2: "something" + someothervar,
...
}
这允许我从main.js
文件中访问对象commands
,就好像它刚刚在main.js
本身中解密一样。但是,当我希望导出的commands.js
文件能够访问main.js
的全局变量作用域时,我遇到了一个问题。假设somevar
和someothervar
是main.js
全局作用域的一部分,当我想从commands
获取值时,我不希望它们是"未定义的"。
长话短说,我想把这个导入的对象看作是刚刚在main.js
中声明的。
我正试图为Discord编写一个聊天机器人,为了整洁和组织,我想把它可以使用的函数列表与处理它们的代码分开。这值得付出努力吗?有更好的方法吗?我现在也在处理SQL,试图设计出尽可能模块化/可定制的程序。
这是不可能的,当您导出一个模块时,所有变量都会被解析。
当你导入时,你总是会得到带有所有表达式的对象
我建议将var1和var2作为函数
module.exports = {
var1: function(someVar){ return "something" + someVar},
var2: function(someothervar) {return "something" + someothervar},
...
}
Now when you import it in main.js ,pass your somevar and someothervar
相关文章:
- 将数据从javascript文件导入VB.Net页面
- 将xml文件导入pdf(Acrobat)
- 如何从typescript文件导入javascript文件
- 在不干扰HTML代码的情况下,将javascript文件导入javascript文件
- 将Javascript文件导入REPL会话
- NodeJS-从其他文件导入函数,并像以前一样使用
- 有没有一种简单的方法可以通过javascript将MySQL文件导入SQLite数据库
- 如何从外部文件导入 JavaScript
- 将JSON文件导入到Grunt服务器上运行的Angular应用程序中
- 将 Excel 文件导入和导出到 JavaScript 数组
- 从外部 JS 文件导入变量值
- JSON+Javascript/jQuery.如何从 json 文件导入数据并对其进行解析
- 如何从某个外部文件导入nodejs中的模块
- 如何将Javascript文件导入Typescript
- 将 Amazon S3 文件导入数据库
- 如何将excel文件导入Web应用程序(javascript/d3/html)
- 从数据文件导入数组
- 使用 javascript 将数据从文本文件导入数组
- 将一个Javascript文件导入另一个Javascript文件
- 如何将数据从php文件导入javascript变量