Webpack配置有一个未知属性'preLoaders'

ron*_*ker 29 lint config preloader webpack

我正在从头开始学习webpack.我已经学会了如何将javascript文件与require链接起来.我正在捆绑和缩小我的js文件,我正在监听手表的变化.我正在设置加载器将我的sass文件转换为css.但是当我尝试使用jshint-loader设置linting过程时,我遇到了问题.

    module: {
preLoaders: [
        {
            test: /\.js$/, // include .js files
            exclude: /node_modules/, // exclude any and all files in the node_modules folder
            loader: "jshint-loader"
        }
],

loaders: [
  {
    test: /\.scss$/,
    loader: 'style-loader!css-loader!sass-loader'
  },
  {
    test: /\.js$/,
    loader: 'babel-loader',
    exclude: /node_modules$/,
    query: {
      presets: ['es2015']
    }
  }
],
Run Code Online (Sandbox Code Playgroud)

}

这是错误

配置对象无效.Webpack已使用与API架构不匹配的配置对象进行初始化. - configuration.module有一个未知属性'preLoaders'.这些性质是有效的:对象{exprContextCritical ?, exprContextRecursive ?, exprContextRegExp ?, exprContextRequest ?,装载机?, noParse ?,规则?,?,unknownContextCritical ?, unknownContextRecursive ?, unknownContextRegExp ?, unknownContextRequest ?, unsafeCache ?, wrappedContextCritical ?, wrappedContextRecursive wrappedContextRegExp ?影响正常模块的选项(NormalModuleFactory).

Iva*_*van 60

您显然正在尝试使用webpack v1和webpack v2的示例.直接来自更改日志:

  module: {
-   preLoaders: [
+   rules: [
      {
        test: /\.js$/,
+       enforce: "pre",
        loader: "eslint-loader"
      }
    ]
  }
Run Code Online (Sandbox Code Playgroud)


Net*_*oke 28

v2.1-beta.23开始,加载器部分被重命名为规则,现在在每个规则下使用enforce属性定义pre/postLoaders.

所以才改名preLoadersrules,你应该是好去;-)