我正在使用通过traceur转译为 ES5 的ES6 模块。
转译是通过 grunt + grunt-traceur 完成的
Traceur 允许您选择要使用的模块处理程序:它自己的、AMD、commonJS 或内联。
我已经尝试了其中的大多数,但似乎没有一个有效。为什么?
测试类.js
export default class TestClass {
constructor() {
alert('test');
}
}
主.js
import TestClass from './TestClass';
var test = new TestClass();
Gruntfile.js(摘录)
traceur: {
options: {
experimental: true,
blockBinding: true,
modules: 'amd'
}
}
index.html(摘录)
<script src="js/vendor/traceur-runtime.js"></script>
<script src="js/vendor/require.js"></script>
<script defer async src="js/compiled/Main.js"></script>
给出错误
未捕获的错误:不匹配的匿名定义()模块:函数($__0){
似乎grunt 插件存在问题,但即使使用旧版本似乎也无济于事。
代码改编自一篇文章。