使用环境变量对特定文件执行Webpack任务

时间:2018-10-11 06:45:30

标签: webpack webpack-4 entry-point

我最近一直在尝试webpack,但偶然发现了一个问题。

我已经声明了多个入口点,例如:

entry: {
  bundle1 : './src/file1.js',
  bundle2 : './src/file2.js',
  bundle3 : './src/file3.js',
}

我已经为每个入口文件声明了动态输出,如下所示:

output: {
  filename: '[name]/[name].js',
  path: path.resolve(__dirname, 'dist')
}

很好,直到我决定执行此任务,例如gulp has和捆绑特定文件。我想知道是否可以将变量传递到入口点,并在package.json中指出一个仅执行特定任务的特定脚本。

例如。 package.json文件:

"scripts": {
   "file1": "webpack --mode production --env=production --entrypoint=file1"
 }

注意--entrypoint。

有人对此有解决方案吗? (最好不使用gulp)

谢谢!

编辑:请注意,我尝试以下操作均未成功

我这样开始我的webpack配置:

module.exports = (entrypoint) => {

然后我声明了一些常量 例如

const file1 = JSON.parse(entrypoint === "file1");
const file2 = JSON.parse(entrypoint === "file2");
const file3 = JSON.parse(entrypoint === "file3");

然后我每次都做一次switch语句

switch(entrypoint) {
case file1: 
  return {
    "file1": "./src/file1.js"
  }
case file2:
  return {
    "file2" :'./src/file2.js'
  }
case file3: 
  return {
    "file3" :'./src/file3.js'
  }

}

最后,我将输出传递给条目

0 个答案:

没有答案