2017-02-04 2 views
1

Я установил webpack глобально с npm install webpack -g.У меня нет файлов для сборки для webpack

Я также установил babel, используя npm install --save-dev babel-loader babel-core.

Каждый раз, когда я печатаю WebPack, чтобы создать файлы, я получаю это:

C:\Sites\Learn-React>webpack

Hash: 5d44ddfc6932f448e682

Version: webpack 2.2.1 Time: 71ms

ERROR in Entry module not found: Error: Can't resolve 'babel' in 'C:\Sites\Learn-React' BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders. You need to specify 'babel-loader' instead of 'babel'.

Любая идея о том, как это можно решить?

Спасибо.

ответ

4

Просто делать то, что говорит сообщение об ошибке:

It's no longer allowed to omit the '-loader' suffix when using loaders. You need to specify 'babel-loader' instead of 'babel'. Edit the webpack.config.js accordingly.

Смысл заключается в том, что automatic -loader module name extension has been removed.

+0

поблагодарить у ооочень много !!! Пожелайте, чтобы сообщение об ошибке указано. – JohnnyDevv

+0

Я отправил PR: https://github.com/webpack/webpack/pull/4226 – simon04

+0

Ух, что за ??? – JohnnyDevv

0

Чтобы решить эту проблему, перейдите в файл webpack.config.js и добавьте -loader в babel. Посмотрите ниже:

//INCORRECT 

    module: { 
    loaders: [ 
     { 
      test: /\.jsx?$/, 
      exclude: /(node_modules)/, 
      loader: 'babel', 
      query: { 
      presets: ['react', 'es2015'] 
      } 
     } 
    ] 
    } 


    //CORRECT 

    module: { 
    loaders: [ 
     { 
      test: /\.jsx?$/, 
      exclude: /(node_modules)/, 
      loader: 'babel-loader', 
      query: { 
      presets: ['react', 'es2015'] 
      } 
     } 
    ] 
    } 
0

Измените загрузчики модулей и убедитесь, что используете «-loader» суффикса.

Так например:

const path = require('path'); 

module.exports = { 
entry : './javascript/src/app.js', 
output: { 
    path : path.resolve(__dirname, 'javascript/dist'), 
    filename: 'build.js' 
}, 
module: { 
    loaders: [ 
     { 
      test : /\.js$/, 
      // Wrong 
      // loader : 'babel', 

      //Correct 
      loader : 'babel-loader', 
      exclude: /node_modules/ 
     } 
    ] 
    } 
}; 
Смежные вопросы