次のエラーが表示されます。
無効な構成オブジェクト。 Webpackは、APIスキーマと一致しない構成オブジェクトを使用して初期化されています。 -configuration.resolveに不明なプロパティ「root」があります。これらのプロパティは有効です:オブジェクト{alias?、aliasFields?、cachePredicate?、descriptionFiles?、enforceExtension?、enforceModuleExtension?、extensions、fileSystem?、mainFields?、mainFiles?、moduleExtensions?、modules、plugins?、resolver?、symlinks ?、unsafeCache?、useSyncFileSystemCalls? }
webpack 2.3.2 を使用します。
私webpack.config.jsは次のようになります:
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
はWebpack 1の構成であり、Webpack 2には存在しません。
Webpack 2では、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)/
}]
}
};
また、module.loaders
-> module.rules
も更新しました。これはWebpack 2で非推奨になりました。
LINE 8を削除しようとしましたか?エラーはありますか?
おそらく推測したように、無効なプロパティを設定しようとするとエラーがスローされます。
Webpackを設定するときに従ったかもしれない指示が古い可能性があります。
LINE 8を使用せずに試してみて、問題が解決せず一緒に修正できるかどうかをお知らせください。