有几个模块连接到app.js,例如里面的代码:
var test = "TEST"; 这是我的webpack.config:
module.exports = {
entry: './src/app.js',
output: {
filename: './dist/bundle.js'
}
};问题是,当我试图在开发人员控制台中调用我的test变量时,我得到一个错误:

关于作用域的问题,当我直接连接app.js时,一切都正常,问题是什么,如何修复它?
发布于 2018-03-20 04:02:30
是的,这是一个范围问题。有两种方法可以解决这个问题:
var,而使用window.。不要在strict mode).test = "TEST";window.test = "TEST";)<script src="bundle.js"></script>中工作,先声明test (var test;),然后忘掉它希望这就是你要找的答案。
发布于 2018-03-20 04:02:28
webpack的默认功能是对传入其配置的文件进行作用域操作,请参阅此处的文档:https://webpack.js.org/configuration/output/
这意味着如果您在文件中设置了一个var,然后将其与webpack捆绑在一起,那么它将只在其作用域内可用,在本例中,作用域是app.js文件。如果您在浏览器中打开文件本身,则不会发生作用域限制,因此在直接查看时不会出现任何问题。
如果您需要在文件外部访问该测试变量,则必须将其转换为全局变量,否则它将保持在从webpack创建的bundle.js文件中的作用域。
https://stackoverflow.com/questions/49371192
复制相似问题