私はRequireJSと一緒にbabel.jsを試しています。Require が指定されていますが、悲しいことにそれを削除することはできません :( babeljs ドキュメントで、--modules amd
ES6 コードを AMD 定義にトランスパイルする cli フラグがあることを発見しました。構造は次のとおりです。
.
|-- build.sh
|-- index.html
|-- js
| |-- assets
| | |-- asseta.es6
| | |-- asseta.js
| | |-- bootstrap.es6
| | `-- bootstrap.js
| `-- main.js
`-- node_modules
index.html
<body>
<p>Hello world! This is HTML5 Boilerplate.</p>
<script type="text/javascript" src="node_modules/requirejs/require.js" data-main="js/main.js"></script>
</body>
main.js
(function() {
require.config({
baseUrl: "js/assets"
});
require(["bootstrap"], function(bootstrap) {
bootstrap.ready(function(sum) {
console.log(sum(1,2,3));
});
});
}());
bootstrap.es6
import asseta from 'asseta';
console.log(asseta); // undefined :((
export function ready(cb) {
cb(asseta.sum);
}
asseta.es6
export function sum(...nums) {
return nums.reduce(((acc, num) => acc += num), 0);
}
アプリケーションに関する私の問題は、アプリケーションを適切にmain.js
ロードbootstrap
することです。ログアウトすると、ready 関数を含む既存のオブジェクトを取得しました-> OKしかし、bootstrap
モジュールはモジュールを適切にロードできません。asseta
私はそのために未定義になります:(
私は何が欠けていますか?
追加情報
このbuild.sh
スクリプトは、.es6 ファイルのみを ES5 .js にトランスパイルします。
#!/bin/sh
babel --modules amd js/assets/bootstrap.es6 -o js/assets/bootstrap.js
babel --modules amd js/assets/asseta.es6 -o js/assets/asseta.js