首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Object.assign()在带有Angular2的IE11中

Object.assign()在带有Angular2的IE11中
EN

Stack Overflow用户
提问于 2017-10-26 10:34:20
回答 2查看 3.2K关注 0票数 3

我知道这个问题已经讨论了10亿次,但我在这里找到的解决办法似乎都没有对我的情况有所帮助。

这就是我的polyfills.browser.ts现在的样子:

代码语言:javascript
复制
import 'ie-shim';
import 'core-js/es7/reflect';

import 'reflect-metadata';
import 'zone.js/dist/zone';

如前所述,我尝试了不同的方法来解决这个问题。

我尝试添加默认情况下未注释的所有导入:

代码语言:javascript
复制
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';

我试着用

代码语言:javascript
复制
import "core-js/client/shim";

而且还

代码语言:javascript
复制
import 'mdn-polyfills/Object.assign';

代码语言:javascript
复制
import 'core-js';

所有这些都添加到polyfills.browser.ts的顶部。

似乎没有任何帮助,我一直在获得对象不支持属性或方法‘赋值’IE11中的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-26 11:26:23

Object.assign是ES2015,由多个填充覆盖:

代码语言:javascript
复制
import 'core-js/es6/object';

或者适用于范围更广的ES2015填充:

代码语言:javascript
复制
import 'core-js/es6';

之所以最好在角应用程序中列出ES2015填充,而不是导入core-js/es6,原因是core-js/es6/promise填充已经被Zone.js覆盖,并且可能会引起问题。

如果这不起作用

对象不支持属性或方法“分配”

发生错误,这意味着polyfills包没有在浏览器中加载,或者在加载polyfills包之前计算了发生polyfills的一段代码。

票数 3
EN

Stack Overflow用户

发布于 2018-01-10 22:52:40

即使我在IE11上使用polyfill,我也遇到了同样的问题,但并不是每次都这样。问题是有时主脚本是在填充之前加载的,所以我在webpack配置中做了以下更改:

代码语言:javascript
复制
       new CommonsChunkPlugin({
-        name: 'polyfills',
-        chunks: ['polyfills']
+        name: ['polyfills', 'main'].reverse(),
       })

所以现在只有:

代码语言:javascript
复制
new CommonsChunkPlugin({
  name: ['polyfills', 'main'].reverse(),
})

它似乎运转正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46952136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档