【发布时间】:2018-07-23 16:10:09
【问题描述】:
我正在尝试将现有项目转换为使用 Webpack。项目代码使用了许多在不同地方调整和使用的全局变量。这是我要实现的目标的一个最小示例:
main.js
window.foo = {};
import './bar.js';
foo.bar();
bar.js
foo.bar = function() {
console.log('bar');
};
入口点是 main.js。在我看来,这应该声明全局window.foo,导入bar.js 仅用于副作用,因此将bar 函数添加到window.foo 然后运行它。实际上最终发生的是:
bar.js:1 Uncaught TypeError: Cannot set property 'bar' of undefined
at eval (bar.js:1)
我知道 Webpack 可能无法处理这种奇怪的全局“模块”,但代码库现在太大而无法转换为正确的 ES6 模块。现在我只想将 Webpack 用于第三方库、linting 等。
我应该如何让上面的例子工作?
【问题讨论】:
标签: javascript webpack