繁体   English   中英

Webpack output 将同一个目录下的所有文件放到不同的文件夹中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM