我当前的配置如下:
output: {
filename: 'bundle.js',
path: OUT_DIR
},
但是我需要bundles.js转到两个目录吗?
我可以通过简单地将目录数组传递到path来完成此操作吗?
还是我需要做一些更复杂的事情?
目前,我有一个bash脚本
cpll
,每次构建后都必须手动输入该脚本,这很繁琐。希望Web Pack具有配置选项,可以将输出发送到两个或更多位置。
研究
google search
这样的问题是4岁,没有我要寻找的东西-so
该文档未在此处提及执行此操作的方法-webpack。
如果没有配置选项,如何让它自动运行bash命令?
我尝试向它传递一个字符串数组而不是一个字符串,它因明显的错误而崩溃:
传递数组将不起作用。嗯
尝试以Google开头的另一种方法-search
提出可能的解决方案-so
每个请求-完成exportFunc
const exportFunc = ( env ) => {
console.log('webpack.config.js-exportFunc', OUT_DIR);
return {
entry: `${IN_DIR}/index.jsx`,
output: {
filename: 'bundle.js',
path: '/Users/c/_top/ll-front/dist'
},
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
},
{
test: /\.jsx?/,
include: IN_DIR,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ['@babel/plugin-proposal-object-rest-spread', '@babel/plugin-proposal-class-properties'],
}
}
}
]
}
};
};
module.exports = exportFunc;
最佳答案
您可以通过导出配置数组来使用webpack's multi-compiler mode。
如在文档中:
例如:
const config = {
// your webpack config
}
const outputPaths = ["path/one", "path/two"]
module.exports = outputPaths.map(outputPath => {
return {
...config,
name: outputPath,
output: {
...config.output,
path: path.resolve(__dirname, outputPath)
}
}
})
当您使用功能配置时,您可以执行以下操作:
const outputPaths = ["path/one", "path/two"]
module.exports = outputPaths.map(outputPath => {
return env => {
return {
entry: `${IN_DIR}/index.jsx`,
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, outputPath)
},
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
},
{
test: /\.jsx?/,
include: IN_DIR,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ['@babel/plugin-proposal-object-rest-spread', '@babel/plugin-proposal-class-properties'],
}
}
}
]
}
};
}
})
关于javascript - 如何使webpack将其输出发送到两个位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60455239/