如何配置 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
进行修改,以便新配置仅构建预期的库包。
我有一个构建多个包的 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
进行修改,以便新配置仅构建预期的库包。