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)/
}]
}
};
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.
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.