我当前的配置如下:

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/

10-12 01:39