web-dev-qa-db-fra.com

configuration.module a une propriété inconnue 'loaders'

ma sortie d'erreur:

Objet de configuration invalide. Webpack a été initialisé à l'aide d'un objet de configuration qui ne correspond pas au schéma de l'API. - configuration.module a une propriété inconnue 'loaders'. Celles-ci sont valables ?, strictExportPresence ?, strictThisContextOnImports? } -> Options affectant les modules normaux (NormalModuleFactory).

mon webpack.config.js:

var webpack = require('webpack');
var path = require('path');

var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');

var config = {
  entry: APP_DIR + '/index.jsx',
  module : {
    loaders : [
      {
        test : /\.jsx?/,
        include : APP_DIR,
        loader : 'babel-loader'
      }
    ]
  },
  output: {
    path: BUILD_DIR,
    filename: 'bundle.js'
  }

};


module.exports = config;

ma version du webpack:

[email protected]
102
S.M_Emamian

Vous devez remplacer loaders par rules dans le WebPack 4:

changement:

loaders 

à:

rules

source: Chargeurs

Exemple:

module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: 'css-loader' },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};
243
S.M_Emamian

Utilisez rules dans le Webpack 4 au lieu de loaders.

https://webpack.js.org/concepts/loaders/

11
Shawn Stephens

Vous devriez utiliser tilitaire de migration pour migrer vos fichiers de configuration webpack, cela a fonctionné pour moi.

Le documentation de migration est également utile.

2
MattG

Les réponses données ci-dessus fonctionnent, mais nous pouvons résoudre ce problème en modifiant la version de webpack et webpack-dev-server.

"webpack": "3.8.1",
"webpack-dev-server": "2.9.4"

Cela peut aussi résoudre le problème. J'espère que ça va aider.

2
Anshul