2015-12-14 13 views
14

私はJavaScriptでBrowserifyとバベルの両方を使用します。Browserifyとバベル一気タスク

ParseError: 'import' and 'export' may only appear at the top level 

私のメインのjsファイルは非常に簡単です::

このために私は自分のコード内で importを使用したいとき、私はエラーを取得しています、

gulp.task('babel', function() { 
    return gulp.src('_babel/*.js') 
     .pipe(browserify({ insertGlobals : true })) 
     .pipe(babel({ presets: ['es2015'] })) 
     .pipe(gulp.dest('_dev/js')); 
}); 

残念ながらゴクゴクタスクを作成しました

import 'directives/toggleClass'; 

私はそれが理由バベルであることを推測している(そしてそれはuse strict追加です)が、私は何ができるのでしょうか?

+1

(browserify前にバベルを配置する)順番を変え、まったく助けていますか? – JCOC611

+0

いいえ、私はこれを試して、 'babel'も取り除いても助けになりません。 –

+0

答えはありませんが、代わりにhttps://github.com/babel/babelifyを使用してみましたか? – Misiur

答えて

10

Babelはと呼ばれるBrowserifyの正式な変換を維持しています。可能な限り、babelとbrowserifyを使用する場合は使用してください。

ドロップ直接バベルの使用とbrowserifyための変換プラグインとしてbabelify置きます。 browserifyを設定するには多くの方法がありますが、package.jsonにconfigを指定するのがおそらく最も簡単です。あなたの一気のタスクは、その後

gulp.task('babel', function() { 
    return gulp.src('_babel/*.js') 
     .pipe(browserify({ insertGlobals : true })) 
     .pipe(gulp.dest('_dev/js')); 
}); 

Browserifyもが、パッケージの設定をドロップ(あなたは一口タスク内からバンドラを設定することができるようになりますので、プログラムでこれを行うためのメソッドを公開し簡略化する

パッケージを使用すると、そのドキュメントや実験を確認してください)。このために完全に罰金ですが、私は前にそれをやったが、その私がここに一口を使用してゴクゴクを(使用するので、長い時間が必要いけないちょうど合併症であるされて、私はあなたが使用している期待しますあなたのビルドパイプラインのどこかでもっと役立つかもしれません)。

関連する問題