React|Cannot find module ‘@babel/preset-react‘ from ‘D:\学习\React相关\02.xxxxxt‘【转载】

在学习React过程中,发现在index.js文件中的JSX语法不能被识别。
刚开始报错的提示信息是“Support for the experimental syntax 'jsx' isn't currently enabled”。接着第二次又报“Cannot find module '@babel/preset-react' from 'D:\学习\React相关\02.xxxxxt'”错误。按照网上查的资料修改Babel文件,没有效果,终于在一篇博客上找到了解决办法,亲测有效。
问题产生的原因 babel-loader和babel-core版本不对应所产生的,

  • babel-loader 8.x对应babel-core 7.x
  • babel-loader 7.x对应babel-core 6.x
如何解决 【React|Cannot find module ‘@babel/preset-react‘ from ‘D:\学习\React相关\02.xxxxxt‘【转载】】1、 卸载旧的babel-core
npm un babel-core
2、 安装新的babel-core
npm i -D @babel/core
3、 卸载旧的babel-preset
npm un babel-preset-env
npm un babel-preset-stage-0
4、 安装新的babel-preset
npm i @babel/preset-react
npm i @babel/preset-env
npm i babel-preset-mobx
5、 卸载旧的babel-plugin
npm un babel-plugin-transform-runtime
6、 安装新的babel-plugin
npm install --save-dev @babel/plugin-proposal-object-rest-spread
npm install --save-dev @babel/plugin-transform-runtime
npm install --save @babel/runtime
7、 修改.babelrc文件
{ "presets": ["@babel/preset-env", "@babel/preset-react", "mobx"], "plugins": [ "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-transform-runtime" ] }

  • 如果你按上述命令安装完后,相应的版本应该如下图所示,问题也应该解决了。
"devDependencies": { "@babel/core": "^7.2.2", "@babel/plugin-proposal-object-rest-spread": "^7.2.0", "@babel/plugin-transform-runtime": "^7.2.0", "@babel/preset-env": "^7.2.3", "@babel/preset-react": "^7.0.0", "babel-loader": "^8.0.4", "babel-preset-mobx": "^2.0.0", "css-loader": "^2.1.0", "file-loader": "^3.0.1", "popper.js": "^1.14.6", "style-loader": "^0.23.1", "url-loader": "^1.1.2", "webpack": "^4.28.2", "webpack-cli": "^3.1.2" }, "dependencies": { "@babel/runtime": "^7.2.0", "bootstrap": "^4.2.1", "jquery": "^3.3.1" }

感谢这篇博客的指导https://blog.csdn.net/u011483658/article/details/95358715

    推荐阅读