gpt4 book ai didi

javascript - 范围如何在 Webpack 中与 CommonJS 一起工作

转载 作者:行者123 更新时间:2023-11-30 20:31:23 27 4
gpt4 key购买 nike

也许这不是特定于 JS 模块的 CommonJS 实现,但我的问题是关于作用域如何与导入模块一起工作。

通用JS:foo.js

var foo = {
bar() {
baz();
}
}

module.exports = foo;

主要 JS

const foo = require('./foo.js');

function baz() {
console.log('this is baz');
}

foo.bar();
//-> ReferenceError: baz is not defined

通常我希望找到 baz,但模块范围似乎是完全隔离的。那是对的吗?在我尝试做的事情中有什么方法或最佳实践吗?

最佳答案

与 webpack 无关。

javascript 模块只有本地上下文

如果你想让某些东西成为全局/窗口上下文的一部分,你可以使用global变量

global.baz = baz;

或者更好的是,使用依赖注入(inject)来传递回调:

var foo = {
bar(baz) {
baz();
}
}

然后就可以使用了:

foo.bar(baz);

关于javascript - 范围如何在 Webpack 中与 CommonJS 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50297851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com