2017-02-08 4 views
1

Я изучаю webpack из курса множественного числа. Я использую файл author.json автора.Почему я получаю Invalid config object на webpack?

Если я запускаю только команду webpack, она работает нормально.

Если я бегу WebPack-DEV-сервер, я получаю следующее:

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema. 
- configuration.module has an unknown property 'preLoaders'. These properties are valid: 
    object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, loaders?, noParse?, rules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp? } 
    Options affecting the normal modules (`NormalModuleFactory`). 
- configuration.resolve.extensions[0] should not be empty. 

Вот мои webpack.config.js:

module.exports = { 
    entry: ["./utils", "./app.js"], 
    output: { 
     filename: "bundle.js" 
    }, 

    module: { 
     preLoaders: [ 
      { 
       test: /\.js$/, 
       exclude: 'node_modules', 
       loader: 'jshint-loader' 
      } 
     ], 
     loaders: [ 
      { 
       test: /\.es6$/, 
       exclude: /node_modules/, 
       loader: "babel-loader" 
      } 
     ] 
    }, 

    resolve: { 
     extensions: ['', '.js', '.es6'] 
    } 
} 

Мой package.json:

"devDependencies": { 
    "babel-core": "^6.2.1", 
    "babel-loader": "^6.2.0", 
    "babel-preset-es2015": "^6.1.18", 
    "jshint": "^2.8.0", 
    "jshint-loader": "^0.8.3", 
    "node-libs-browser": "^0.5.3", 
    "webpack": "^1.12.9" 
    } 

ответ

2

Вы пытаетесь запустить webpack2 с конфигурацией для webpack1 - вам нужно убедиться, что у вас есть webpack1 в глобальном масштабе, так как ваш курс находится на webpack1 - n OT WebPack 2

2

Если вы хотите придерживаться Webpack-вы можете обновить ваш webpack.config.js

Вам не нужно пустое расширение в Webpack 2, поэтому там, где у вас есть

resolve: { 
    extensions: ['', '.js', '.es6'] 
} 

необходимо изменить следующим образом:

resolve: { 
    extensions: ['.js', '.es6'] 
}