【发布时间】:2018-09-29 09:18:46
【问题描述】:
我在使用 Webpack 时遇到了 Internet Explorer 阻塞的问题。我正在使用当前版本的 Angular-CLI 1.7.4 和 Angular 5.2.10。我收到此错误:
SCRIPT:5007 无法获取未定义或 null 的属性“调用” 参考。内联 bundle.js (55,12)
这与this issue 不同,因为它位于包中的不同行。该行如下所示:
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
我尝试将 node_modules 中的 webpack 代码修改为 console.log moduleId,但由于某种原因它没有记录。
我找到了this thread,很多人都在处理这个问题。我看不到与我的问题相关的内容。
我没有来自 CLI 的任何循环依赖警告。
我已将我的代码还原为几个不同的先前版本,重新安装了节点模块,但我仍然遇到相同的错误。真是奇怪。
更新:这是我使用的 polyfill:
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
我还找到了this issue,这表明很多人都遇到了这个问题,并且提供的解决方案不起作用。
更新:我找到了没有从 Webpack 调用 console.log 的原因。只是它不一定是 in Webpack。我在我的node_modules 中搜索modules[moduleId].call(module.exports, module, module.exports, __webpack_require__),发现有87 次出现。我假设因为它说“webpack”它是 webpack 的一部分,所以这是我看的第一个地方,这是它确实发生的地方,所以我停在那里以为我找到了它。
另外,我又遇到了这个问题,我重新启动了我的 Angular-CLI 服务器很多次,但我无法得到一个正在工作的编译。
这变得很关键,所以我将在这个问题上提出赏金。
更新:看起来 IE 对添加 polyfill 的方法的调用 (Function.prototype.call) 感到窒息。我从 inline.bundle.js 中捕获了这个。这是最先发生的事情之一:
function(module, exports, __webpack_require__) {
module.exports = __webpack_require__("./src/polyfills.ts");
}
【问题讨论】:
-
出于好奇,您使用的是哪个加载器?
-
我不确定。我怎样才能知道呢?
-
我的意思是,我不确定你所说的“装载机”是什么意思。
-
抱歉,假设你问的是 WebPack 问题,你会知道:无论如何,这里是加载器:github.com/webpack/docs/wiki/using-loaders,这里是列出可用加载器的文档页面:@987654325 @
-
这很可能与 webpack-dev-server 有关:请看这个问题:github.com/webpack/webpack-dev-server/issues/1282
标签: javascript angular webpack angular-cli webpack-2