如何在同一个项目上设置多个webpack / babel发行版?

时间:2019-02-14 11:11:47

标签: node.js npm webpack

我想要一个仓库,将不同且独立的js源代码捆绑在自己的dir src-> dist

这是可怕的。我想到的结构

  • 代码

    • src01
    • src02
    • ....
    • src-n
  • 公共

    • dist01
    • dist02
    • ....
    • dist-n

我发现我可以像这样设置package.json来构建每个src:

....
"scripts": {
  .... (one line for each build I want to have tracked?)
  "build-src-n": "webpack --mode production ./code/src-n/index.js --output ./public/dist-n/main.js",
  ...
},
...

然后执行

npm run build-src-n

我的webpack.config.js现在实际上是这样的

const HtmlWebPackPlugin = require("html-webpack-plugin");
module.exports = {
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.html$/,
                use: [
                    {
                        loader: "html-loader"
                    }
                ]
            }
        ]
    },
    plugins: [
        new HtmlWebPackPlugin({
            template: "./src/index.html",
            filename: "./index.html"
        })
    ]
};

js的构建按预期工作。但是我对如何在packa.json定义的脚本中传递参数以了解情况感到有些困惑

HtmlWebPackPlugin查找确切的index.html 这样一行:

  template: "./src/index.html",
  would become "./src-n/index.html

其中n是我可能作为附加参数传递给webpack cli的东西

我还需要将./src-n/file.json移到./dist-n/file.json中,如何在webpack配置文件中实现该目标?

0 个答案:

没有答案