Error: options/query provided without loader. Webpack 2.2.0-rc.3

Error: options/query provided without loader. Webpack 2.2.0-rc.3

我已经将 webpack 从 rc2 更新到 rc3,因此我无法通过 npm start 启动我的项目 我收到这样的错误

> webpack-dev-server

Error: options/query provided without loader (use loader + options) in {
  "test": {},
  "exclude": {},
  "use": "file-loader",
  "query": {
    "name": "[name].[ext]"
  }
}

这是我的配置

  module: {
    rules: [
      {
        test: /\.html$/,
        exclude: /node_modules/,
        use: 'file-loader',
        query: {
          name: '[name].[ext]',
        },
      },
      {
        test: /\.s?css$/,
        exclude: /node_modules/,
        use: [
          'style-loader',
          {
            loader: 'css-loader',
            options: {
              importLoaders: 1,
              modules: true,
              localIdentName: '[name]__[local]_[hash:base64:5]',
            },
          },
          'sass-loader',
          'sass-resources-loader',
          'postcss-loader',
        ],
        query: {
          modules: true,
        },
      },
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: [
          'babel-loader',
        ],
      },
    ],
  },

回滚到 rc2 没有解决问题.. 我相信问题出在 rc3 中,因为我有另一个项目有 rc2 并且可以启动。将 webpack 更新到 rc3

后它就坏了

您需要编辑您的配置,因为 Webpack 2 已更改其声明加载程序的架构。

重构这部分:

{
    test: /\.html$/,
    exclude: /node_modules/,
    use: 'file-loader',
    query: {
      name: '[name].[ext]',
    },
},

对此:

{
    test: /\.html$/,
    exclude: /node_modules/,
    use: [
        {
            loader: 'file-loader',
            query: {
                name: '[name].[ext]'
            }
        }
    ]
},

将此转换应用到您声明的其他加载程序,它应该可以工作:)