Webpack-stream:如何使用配置数组



如果我通过 CLI 使用webpack,我可以导出配置数组:

module.exports = [
  {
    entry: {/*entry#1*/},
    target: 'electron-renderer'
    //...
  },
  {
    entry: {/*entry#2*/}
    target: 'webworker'
    //...
  }
];

而且它工作正常。但是当我尝试通过gulpfile.js中的webpack-stream传递它时:

const webpackStream = require('webpack-stream');
const webpack2 = require('webpack');
const webpackConf = require('./webpack.config.js');
...
gulp.task('run webpack', () => {
  return gulp.src('src/app.js') // I use only entry#1 here, cause it should override it via config file... I suppose
    .pipe(webpackStream(webpackConf, webpack2))
    .pipe(gulp.dest('dest/app'));
});

它完成任务没有错误,但从不将结果文件插入输出文件夹。

如果我编写webpackStream(webpackConf[0], webpack2)webpackStream(webpackConf[1], webpack2)(只有我的一个配置(,它运行良好。

你要找的是webpack-stream的多编译器支持。

您甚至不需要从 webpack 配置中gulp.src第一个条目,并且可以执行以下操作:

const webpackStream = require('webpack-stream');
const webpack2 = require('webpack');
const webpackConf = require('./webpack.config.js');
gulp.task('run webpack', () => {
  return webpackStream({config: webpackConf}, webpack2)
    .pipe(gulp.dest('dest/app'));
});

最新更新