如何配置 Webpack 输出以仅包含特定包的一些选项

How can I configure Webpack output to include some options only for a particular bundle

我有一个构建多个包的 Webpack 4,我只想为单个包附加输出选项 libraryTarget & library

因此默认情况下看起来像这样:

output: {
    path: path.resolve(__dirname, 'dist/js'),
    filename: '[name].[chunkhash].js',
  },

除了单捆外,我需要以下物品:

output: {
    path: path.resolve(__dirname, 'dist/js'),
    filename: '[name].[chunkhash].js',
    libraryTarget: 'var',
    library: '[name]'
  },

这可能吗?我没有在文档中看到示例

您不能按照您的要求进行操作,但您可以将现有配置用作 "common" 配置并使用 webpack-merge:

将其扩展到另一个配置中
// e.g. webpack.config.your-lib.js
module.exports = merge(require('./webpack.config.common.js'), {
  // ...entry changes...
  output: {
    libraryTarget: 'var',
    library: '[name]',
  }
})

不要忘记对上面的 entry 进行修改,以便新配置仅构建预期的库包。