Webpack输出到es5 / es6?

问题描述 投票:2回答:1

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

就像是:

  • bundle5.js
  • bundle6.js

编辑:

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

webpack ecmascript-6 ecmascript-5
1个回答
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

编辑:添加示例

© www.soinside.com 2019 - 2024. All rights reserved.