Webpack输出到es5 / es6?

时间:2018-04-26 16:24:52

标签: webpack ecmascript-6 ecmascript-5

是否可以让webpack输出多个ECMAScript版本?

类似的东西:

  • bundle5.js
  • bundle6.js

修改

我的意思是,Webpack可以在一次运行中创建两种变体。

1 个答案:

答案 0 :(得分:3)

我不确定您是否可以使用webpack做到这一点。 但是您可以使用一系列配置导出多个目标。

如果您使用babel 7,则可以执行以下操作(未经测试):

module.exports = [
  {
    output: {
      filename: './dist-bundle-es5.js'
    },
    module: {
      rules: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          use: {
            loader: 'babel-loader',
            options: {
              cacheDirectory: true,
              presets: [
                [
                  '@babel/preset-env',
                  {
                    forceAllTransforms: true
                  }
                ]
              ]
            }
          }
        }
      ]
    },
    name: 'es5',
    entry: './app.js'
  },
  {
    output: {
      filename: './dist-bundle-es6.js'
    },
    name: 'es6',
    entry: './app.js'
  }
];

检查:https://webpack.js.org/configuration/configuration-types/#exporting-multiple-configurations

编辑:添加示例