Webpack 错误:configuration.module.rules[0] 有一个未知的属性“query”

Ayo*_*eis 6 javascript ecmascript-5 ecmascript-6 webpack babeljs

我正在关注本教程:https://www.youtube.com/watch? v=iWUR04B42Hc ,我知道它的内容已过时,但我认为已将其正确翻译为最新版本的Webpack,但它给了我这个错误configuration.module.rules[0] has an unknown property 'query'.

完整版

[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.module.rules[0] has an unknown property 'query'. These properties are valid:
   object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
   -> A rule description with conditions and effects for modules.
Run Code Online (Sandbox Code Playgroud)

我的webpack.config.js const path = require('path');

module.exports = {
    entry: {
        app: './source/app.js'
    },
    output: {
        path: path.resolve(__dirname, 'build'),
        filename: 'app.bundle.js'
    },
    mode: 'development',
    module: {
        rules: [
            {
                test: /\.js?$/,
                exclude: /node_modules/,
                loader: 'babel-loader',
                query: {
                    presets: ['@babel/preset-env']
                }
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

有谁知道我的代码有什么问题吗?

sli*_*wp2 8

错误信息很清楚,没有配置query选项rule,你应该使用options.presets. 查看Webpack v5用法

module: {
  rules: [
    {
      test: /\.m?js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)