2

次のbrowserifyワークフローを単一のgulpタスクに移行しようとしています:

パッケージ.json:

"scripts": {
  "build": "browserify src/main.js > dist/build.js"
},
...
"browserify": {
  "transform": [
    "vueify",
    "babelify"
  ]
}

.babelrc ファイル:

{
  "presets": ["es2015"]
}

gulp -browserifyはメンテナンスされなくなったため、このレシピを使用して、ワークフロー全体を 1 つの gulp タスクにまとめました。

gulp.task('build', function () {
    var b = browserify({
        entries: './src/main.js',
        debug: true,
        transform: [vueify, babelify.configure({presets: ["es2015"]})]
    });
    return b.bundle()
        .pipe(source('build.js'))
        .pipe(buffer())
        .on('error', gutil.log)
        .pipe(gulp.dest('./dist/'));
    });

残念ながら、生成された build.js ファイルは異なり、コマンドによって生成された build.js ファイルのみがnpm run buildVue.js アプリを正しく実行しています。

4

1 に答える 1

3

私は自分でこの問題を乗り越えることができました。デバッガーで少し時間を費やした後、browserify で使用される変換の配列に「babelify」と「vueify」が 2 回含まれていることがわかりました。

次に何が起こるかというと、おそらく変換は次のように適用されます。bablify -> vueify -> babelify -> vueify. 問題は簡単に取り除くことができるので、それが私のものをどのように爆破したかを正確に理解するのに多くの時間を費やしませんでした.

package.json または gulp ファイルで browserify 変換を指定します。両方ではありません。

于 2017-01-02T13:25:19.837 に答える