traceurで ES5 にトランスパイルされたES6 モジュールを使用しています。
変換は grunt + grunt-traceurを介して行われます
Traceur を使用すると、使用するモジュール ハンドラーを選択できます: 独自、AMD、commonJS、またはインライン。
私はそれらのほとんどを試しましたが、どれもうまくいかないようです。なんで?
TestClass.js
export default class TestClass {
constructor() {
alert('test');
}
}
Main.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>
エラーが発生しました
キャッチされないエラー: 匿名の define() モジュールが一致しません: 関数 ($__0) {
grunt プラグインに問題があるようですが、古いバージョンを使用しても解決しないようです。
コードは記事から改作されました。