configuration.module tiene una propiedad desconocida 'cargadores'

136

mi salida de error:

Objeto de configuración inválido. Webpack se ha inicializado utilizando un objeto de configuración que no coincide con el esquema API. - configuration.module tiene una propiedad desconocida 'cargadores'. Estas propiedades son válidas: object {exprContextCritical ?, exprContextRecursive ?, exprContextRegExp ?, exprContextRequest ?, noParse ?, reglas ?, defaultRules ?, unknownContextCritical ?, unknownContextRecursive ?, unknownContextRegExp ?, unknownContextRequest ?, unsafeCache ?, wrapContextCritical? WrapContextRegsive? ?, estrictoExportarPresencia? } -> Opciones que afectan a los módulos normales ( NormalModuleFactory).

my 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;

mi versión de paquete web:

webpack@4.1.1
S.M_Emamian
fuente

Respuestas:

317

Debe cambiar loadersa rulesen el paquete web 4:

cambio:

loaders 

a:

rules

fuente: cargadores

Ejemplo:

module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: 'css-loader' },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};
S.M_Emamian
fuente
1
¿Es un error tipográfico? Debería estar rulesen el paquete web 4.
Sin
deberías usar reglas en el paquete web 4.
S.M_Emamian
2
cambiar los cargadores a las reglas en el paquete web 4 ... en caso de que sea necesario repetirlo: /
Helmut Granda
1
Debería explicar en su respuesta que la razón del cambio es el paquete web 4.
kojow7
2

Las respuestas anteriores funcionan pero podemos resolver este problema cambiando webpack y webpack-dev-server version a

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

También puede resolver el problema. Espero que ayude.

Anshul
fuente
Te di un aumento. El único problema es que la gente quiere actualizar versiones de frameworks y herramientas para obtener nuevas funciones, no volver a versiones anteriores solo para asegurarse de que no tengan que cambiar sus archivos de configuración. Quizás no sea malo tomarse la molestia de cambiar el archivo de configuración para alinearlo con la nueva forma en que funciona la herramienta. A menos que eso sea imposible.
Eniola
Gracias @Eniola, sí, tienes razón. Como mencioné, la respuesta de S.M_Emamian es correcta, pero mi respuesta funcionará si alguien acepta trabajar con la versión anterior de webpack.
Anshul
0

Trabajando para mí debajo de 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' }
        ]
    }
}
Pankaj Upadhyay
fuente