使用6到5的转换器。当我尝试在我的代码中使用Object.assign()时,我收到以下错误:Uncaught TypeError: Object.assign is not a function
。如何启用此功能?
答案 0 :(得分: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
的{{3}}。但请记住更新到最新版本的babel!它经常更新。
答案 1 :(得分:1)
您必须包含browser-polyfill.js
文件:
可从npm版本的6to5目录中的
browser-polyfill.js
文件获得。这需要包含之前所有已编译的6to5代码。您可以将其添加到已编译的代码中,也可以将其包含在<script>
之前。注意:请勿通过浏览器等
require
使用6to5/polyfill
。