【发布时间】:2015-08-21 19:46:46
【问题描述】:
我正在尝试在 Babel 使用 webpack 编译的 ES6 Web 应用程序中使用 Object.assign(),但出现错误:
Uncaught TypeError: Object.assign is not a function
我已经在使用babel-loader 将 ES6 转换为 ES5,所以我所有的其他 ES6 代码都可以正常工作。然而,Object.assign() 仅在我的代码库中也有import "babel-core/polyfill" 之后才有效。我看到我也可以修复这个by importing babel-runtime,但我想了解为什么Object.assign() 需要的不仅仅是babel-loader 执行的功能——babel-loader 不应该预处理所有内容,包括@ 987654332@?
【问题讨论】:
-
只是给未来读者的一个提示:根据the docs,在编写此问题时称为“babel-core/polyfill”的 polyfill 现在是“babel-polyfill”。跨度>
-
在 v7 中现在只是
@babel/polyfill。 -
从 Babel 7.4.0 开始,
babel/polyfill已被弃用,取而代之的是直接包含core-js/stable(用于填充 ECMAScript 功能)和regenerator-runtime/runtime(需要使用转译生成器函数):跨度>
标签: javascript ecmascript-6 webpack babeljs