在的WebPack配置文件使用巴贝尔插件

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

在他们的网站上,的WebPack这样表示插件的使用

  plugins: [
    new webpack.optimize.UglifyJsPlugin(),
    new HtmlWebpackPlugin({template: './src/index.html'})
  ]

我想用巴贝尔插件变换异步到发电机,所以我增加了它在babelrc文件,但我不知道这就够了,我要补充这也的WebPack文件?如果是的话如何

如果在的WebPack配置文件写入插件必要的,因为现在我得到运行时错误,如果它只能在babelrc文件中写入不知道我不能肯定。

我目前的WebPack配置文件

var path = require('path')

module.exports = {
  entry: path.resolve(__dirname, 'partner/index.js'),
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'partner_bundle.js'
  },
  target: 'web',
  module: {
    rules: [
      {
        test: /\.js$/, // Check for all js files
        loader: 'babel-loader',
        query: {
          presets: [
            'babel-preset-env',
            'babel-preset-stage-0'
          ].map(require.resolve)
        },
        exclude: /node_modules\/(?!other-module)/
      }
    ]
  },
  stats: {
    colors: true
  },
  devtool: 'source-map',
  resolve: { symlinks: false }
}

babelrc文件

{
  "presets": [
    "env",
    "stage-2"
  ],
  "plugins": [
    "transform-async-to-generator",
    "transform-async-generator-functions",
    [
      "transform-runtime",
      {
        "helpers": false,
        "polyfill": false,
        "regenerator": true
      }
    ]
  ]
}
javascript webpack babel
1个回答
0
投票

在这里,你可以在我的WebPack配置看我怎么包括巴贝尔插件:

    test: /(\.jsx|\.js)$/, // JSX and JS files should be present.
    exclude: /(node_modules|bower_components)/,
    use: [{
        loader: 'babel-loader',
        options: {
            // Babel must be required like this to be able to use npm-link to link to shared code, see:
            // https://stackoverflow.com/questions/34574403/how-to-set-resolve-for-babel-loader-presets/
            presets: [
                [node_modules + '/@babel/preset-env', {
                    // Ref: 1) http://2ality.com/2017/02/babel-preset-env.html
                    // 2) http://caniuse.com/usage-table
                    // In case it supports the browserlist in package.json, remove this here, see:
                    // https://github.com/babel/babel-preset-env/issues/149
                    "targets": {"browsers": ["> 4%", "safari 10", "ie 11", "iOS 9"]},
                    "modules": false,
                    "useBuiltIns": 'entry',
                    // "debug": true
                }],
                [node_modules + '/@babel/preset-react'],
            ],
            plugins: [
                node_modules + '/@babel/plugin-proposal-class-properties',
                node_modules + '/@babel/plugin-proposal-object-rest-spread'].map(require.resolve)
        }
    }]
© www.soinside.com 2019 - 2024. All rights reserved.