Angular ng服务不包括polyfills - IE11 / Edge仅在运行ng build --prod时工作

问题描述 投票:3回答:1

我尝试过使用npm run start和ng serve。在所有情况下,生成的应用程序在IE11和Edge中根本不起作用。

围绕IE11和Edge存在许多其他问题,但这严格关于Angular CLI在运行ng服务时无法有效包含polyfill的问题。

    ng serve

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

Date: 2018-10-01T15:27:24.006Z
Hash: f7ee38fccff1d585e3ed
Time: 12681ms
chunk {main} main.js, main.js.map (main) 119 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 452 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 86.4 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 7.2 MB [initial] [rendered]
i 「wdm」: Compiled successfully.

这是绝对必要的,因为我需要使我的应用程序完全兼容IE11 / Edge并且我无法构建生产以检查居中是否有效。

EDIT1

运行ng serve --prod似乎实际上工作但是在修改某些东西时它是好的。还是想找个办法解决这个问题。

angular angular-cli polyfills
1个回答
0
投票

这对你来说可能有点晚了,但是如果有其他人发现它......我遇到了类似的问题,我的Angular 7应用程序从头开始使用CLI工作,除了从ng服务器运行时使用Microsoft的EDGE浏览器。 (是的,IE 11工作,但EDGE没有。去图。)

无论如何,我发现这篇文章:https://github.com/angular/angular-cli/issues/8596

用户clydin的评论为我提供了修复(即使他们在谈论Safari)。他们说:

该错误是由于开发服务器的实时重新加载客户端代码(来自webpack-dev-server),需要基本的ES2015支持。这不会影响应用程序的构建(生产或其他),因为不存在实时重新加载代码。如果需要,可以通过--no-live-reload选项禁用实时重新加载功能。由于safari 10中的缺陷,在ng服务上启用源映射(默认)会导致类似的错误。这不会影响Safari 11。

我在package.json中创建了一个脚本,当我运行这个脚本时,EDGE工作了。你可能也对这面旗帜感到满意。

"app-edge": "ng serve --host 0.0.0.0 --disable-host-check --no-live-reload"
© www.soinside.com 2019 - 2024. All rights reserved.