es6ifyでjavascript es6コードをブラウザ化しようとしています。私のコードは THREE js ライブラリ (webgl 抽象化ライブラリ) を使用しており、バンドルの先頭に traceur コンパイラ ランタイムを追加しようとするまで、すべてがうまく機能します。
これが私のgulpタスクです(問題はgulpに関連していてはなりません):
gulp.task('build', function(){
browserify({debug: true})
.add(es6ify.runtime)
.transform(es6ify)
.require(require.resolve('./app/index.js'), {entry: true})
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./build/'));
});
アプリケーションのどこかで、次のようなことをしようとしています:
import THREE from 'three';
var toto = new THREE.WebGLRenderer([...]);
実際には空のオブジェクトであるため、これは失敗し、未定義です。THREE
WebGLRenderer
THREE js は node package.json の依存関係にあり、THREE JS は通常よくインポートされます。しかしadd(es6ify.runtime)
、ビルドプロセスを追加require('three')
すると、空のオブジェクトになります...
私が逃したものはありますか?
ありがとう!