1

我正在使用 6to5 转译器。当我尝试在我的代码中使用 Object.assign() 时,我收到以下错误:Uncaught TypeError: Object.assign is not a function. 如何启用此功能?

4

2 回答 2

3

在最新版本中,6to5 已重命名为 Babel,您不再需要这样做。您可以将其配置为使用 polyfill 或加载运行时。这就是我在 gulp 中设置它的方式:

browserify({debug : true})
.transform(

    // We want to convert JSX to normal javascript
    babelify.configure({

        // load the runtime to be able to use Object.assign
        optional: ["runtime"]
    })
);

无论您使用什么工具,您的配置都应该非常相似。独立使用包看起来像这样:

require("babel").transform("code", { optional: ["runtime"] });

可以查看. runtime不过记得更新到最新版本的 babel!它更新非常频繁。

于 2015-03-09T16:34:36.753 回答
1

您必须包含该browser-polyfill.js文件:

可从browser-polyfill.jsnpm 版本的 6to5 目录中的文件获得。这需要包含所有编译的 6to5 代码之前。您可以将其添加到已编译的代码中,也可以将其包含在<script>它之前。

注意:不要require通过 browserify 等,使用6to5/polyfill.

http://6to5.org/docs/usage/polyfill/

于 2015-02-08T22:43:28.967 回答