变量不能被这些变量声明后所需的其他模块直接使用?"/>
为什么在node js模块中声明的变量不能被这些变量声明后所需的其他模块直接使用?
我要问的只是为什么这段代码在节点中运行良好:
const x = 5;
(function dd(){
console.log(x)
})()
同时从另一个模块(例如 module2.js)导出上面称为 dd 的函数,然后 需要它并这样称呼它:
const x = 5;
require("./module2.js")()
会抛出 x 未定义的错误
不需要模块与执行包含此所需模块代码的包装函数相同 在它的身体里?如果不是这种情况,有人会解释发生了什么吗?
我预计这段代码:
const x = 5;
require("./module2.js")() // module2.js simply exports the function dd mentioned above
将 5 记录到控制台,与此代码相同:
const x = 5;
(function dd(){
console.log(x)
})()
回答如下:
更多推荐
为什么在node js模块中声明的变量不能被这些变量声明后所需的其他模块直接使用?
发布评论