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


136

ma sortie d'erreur:

Objet de configuration non valide. Webpack a été initialisé à l'aide d'un objet de configuration qui ne correspond pas au schéma d'API. - configuration.module a une propriété inconnue 'loaders'. Ces propriétés sont valides: object {exprContextCritical ?, exprContextRecursive ?, exprContextRegExp ?, exprContextRequest ?, noParse ?, rules ?, defaultRules ?, unknownContextCritical ?, unknownContextRecursive ?, exprContextRegExp ?, exprContextRequest ?, noParse ?, rules ?, defaultRules ?, unknownContextCritical ?, unknownContextRecursive ?, unknownContextRegRegExp ?, exprContextRequest ?, noParse ?, rules ?, defaultRules ?, unknownContextCritical ?, unknownContextRecursive ?, unknownContextRegRegExp ?, exprContextRequest ?? ?, 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 webpack:

webpack@4.1.1

Réponses:


317

Vous devriez changer loaderspour rulesdans le webpack 4:

changement:

loaders 

à:

rules

source: chargeurs

Exemple:

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

1
Est-ce une faute de frappe? Il devrait être rulesdans le webpack 4.
Sin

vous devriez utiliser les règles du webpack 4.
S.M_Emamian

2
changer les chargeurs en règles dans le webpack 4 ... au cas où cela aurait besoin d'être répété: /
Helmut Granda

1
Vous devez expliquer dans votre réponse que la raison du changement est le webpack 4.
kojow7


2

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

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

Cela peut également résoudre le problème. J'espère que cela aidera.


Je vous ai donné une hausse. Le seul problème est que les gens veulent mettre à niveau les versions des frameworks et des outils pour obtenir de nouvelles fonctionnalités et ne pas revenir aux anciennes versions juste pour s'assurer qu'ils n'ont pas à changer leurs fichiers de configuration. Peut-être que prendre la peine de changer le fichier de configuration pour s'aligner sur la nouvelle façon dont l'outil fonctionne n'est pas mal. A moins que ce ne soit impossible.
Eniola

Merci @Eniola, ouais tu as raison. Comme je l'ai mentionné, la réponse S.M_Emamian est correcte mais ma réponse fonctionnera si quelqu'un accepte de travailler avec l'ancienne version de webpack.
Anshul


0

Travailler pour moi ci-dessous webpack.config.js

module.exports = {
    entry: [
        '.src/index.js'
    ],
    output:{
        path: __dirname,
        filename: 'app/js/main.js'
    },
    module:{
        rules: [
          { test: /\.css$/, use: 'css-loader' },
          { test: /\.ts$/, use: 'ts-loader' }
        ]
    }
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.