[英]Webpack output all the files within a directory with the same name into a different folder
我有以下目录:
- src/
- js/
- profile1/
- script1.js
- script2.js
- profile2/
- script3.js
- script4.js
- script5.js
- dist/
- js/
package.js
webpack.config.js
我正在尝试将/src/js
中的所有 JS 文件 webpack 放入dist/js
文件夹中,并保留相同的命名和文件夹结构。
我可以为每个文件和 webpack 每个 JS 文件编写一个不同的配置,但我想知道是否有一组配置可以让我一次性完成所有操作。
我努力了:
const path = require('path');
module.exports = {
entry: './src/js/*.js',
output: {
filename: '*.js',
path: path.resolve(__dirname, 'dist'),
}
}
惨败。
您可以像使用glob一样首先匹配入口文件(使用npm i glob
安装它)。 然后,您可以通过将[name]
附加到 output.filename 来动态更改output.filename
。 这是完整的代码:
const path = require('path');
const glob = require('glob');
module.exports = {
entry: Object.fromEntries(glob.sync(path.resolve(__dirname, 'src/js/**/*.js')).map((v) => [
v.split('src/js/')[1], v,
])),
output: {
filename: '[name]',
path: path.resolve(__dirname, 'dist/js'),
},
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.