gulp-rev запущен до того, как Webpack завершил сборку моего JavaScript - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть шаблон Gulp 4 + Webpack 4, где Webpack контролирует связывание моего ES6 Javascript, а Gulp делает все остальное.

Вот моя задача сценария:

gulp.task('scripts', (cb) => {
    gulp.src(paths.js.app)
        .pipe(webpackStream(webpackConfig), webpack)
        .on('error', handleErrors)

        .pipe(gulp.dest(paths.js.dest))
        .on('error', handleErrors)

        .pipe(development(browserSync.reload({ stream: true })));
    cb()
})

И моя конфигурация веб-пакета:

const config = {
    mode: env,
    entry: {
        app: paths.js.app,
    },
    output: {
        path: path.resolve(__dirname, 'app'),
        filename: 'bundle.js',
    },
    externals: {
        jquery: 'jQuery'
    },
    module: {
        rules: [
            {
                test: /\.(js)$/,
                exclude: /(node_modules)/,
                use: [
                    {
                        loader: 'babel-loader',
                        options: {
                            presets: ['@babel/preset-env']
                        }
                    }
                ]
            },
        ],
    },
    optimization: {
        minimizer: [new UglifyJsPlugin()],
    }
}

И вот моя задача сборки:

gulp.task('build', gulp.series(
        gulp.parallel(
            'clean-assets',
            'styles',
            'scripts',
            'move-favicons',
            'move-scripts',
            'move-fonts',
            'move-videos',
            'images',
            'svg',
            'nunjucks'
        ),
        'revision'
    ))

Вы заметите, что я установил все параллельно, кроме задачи ревизии.Это хэширует мои файлы styles.css и bundle.js с gulp-rev, и ссылки в моем html обновляются для соответствия.

Моя проблема заключается в том, что моя задача сценариев завершается до того, как пакет веб-пакетов завершил сборку.js не был сгенерирован к моменту запуска моей ревизионной задачи.

Любые указатели приветствуются.Спасибо

...