web-dev-qa-db-fra.com

Configuration.resolve a une propriété inconnue 'root'

J'obtiens l'erreur suivante:

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.resolve a une propriété inconnue 'root'. Ces propriétés sont valides: object {alias?, AliasFields ?, cachePredicate ?, descriptionFiles ?, enforceExtension ?, enforceModuleExtension ?, extensions ?, fileSystem ?, mainFields ?, mainFiles ?, moduleExtensions ?, modules ?, plugins ?, resolver ?, liens symboliques ?, unsafeCache ?, useSyncFileSystemCalls? }

J'utilise webpack 2.3.2 .


Mon webpack.config.js ressemble à ceci:

module.exports= {
  entry:'./public/app.jsx',
  output: {
    path: __dirname,
    filename:'./public/bundle.js'
  },
  resolve: {
    root: __dirname,
    alias:{
      Mod1: 'public/components/mod1.jsx',
      Mod2:'public/components/mod2.jsx',
      Mod3: 'public/components/mod3.jsx'
    },
    extensions: ['*','.js','.jsx']
  },
  module :{
    loaders:[{
      loader :'babel-loader',
      query :{
        presets:['react','es2015','es2017']
      },
      test:/\.jsx?$/,
      exclude:/(node_modules|bower_components)/
    }]
  }
};
28
Anyname Donotcare

resolve.root est la configuration de Webpack 1 et n'existe pas pour Webpack 2.

Pour Webpack 2, vous pouvez utiliser resolve.modules: https://webpack.js.org/configuration/resolve/#resolve-modules

module.exports= {
  entry:'./public/app.jsx',
  output: {
    path: __dirname,
    filename:'./public/bundle.js'
  },
  resolve: {
    modules: [__dirname, 'node_modules'],
    alias:{
      Mod1: 'public/components/mod1.jsx',
      Mod2:'public/components/mod2.jsx',
      Mod3: 'public/components/mod3.jsx'
    },
    extensions: ['*','.js','.jsx']
  },
  module :{
    rules:[{
      use : 'babel-loader',
      query :{
        presets:['react','es2015','es2017']
      },
      test: /\.jsx?$/,
      exclude: /(node_modules|bower_components)/
    }]
  }
};

J'ai également mis à jour module.loaders -> module.rules car cela est déconseillé dans Webpack 2.

46
Tom Van Rompaey

Avez-vous essayé de supprimer LINE 8? Est-ce par des erreurs?

Comme vous l'avez probablement deviné, cela génère une erreur lorsque vous essayez de définir une propriété qui n'est pas valide.

Il est possible que les instructions que vous avez suivies lors de la configuration de webpack soient obsolètes.

Essayez-le sans LINE 8 et faites-moi savoir si les problèmes persistent et nous pouvons le résoudre ensemble.

1
Molik Miah