首页 > 解决方案 > Webpack 输出到 es5 / es6?

问题描述

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

就像是:

编辑:

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

标签: webpackecmascript-6ecmascript-5

解决方案


一口气,我不确定您是否可以使用 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

编辑:添加示例


推荐阅读