Estoy siguiendo junto con este tutorial de webpack4/react:
https://www.youtube.com/watch?v=deyxI-6C2u4
Lo he seguido exactamente hasta la parte donde ejecuta npm start. La diferencia es que su aplicación se ejecuta y la mía recibe el error:
No se puede encontrar el módulo '@babel/core'
El error completo:
ERROR in ./src/index.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module '@babel/core' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object.<anonymous> (C:\Users\joeyf\Desktop\Code\Github\webpack4-sample\node_modules\babel-loader\lib\index.js:5:15) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) @ multi (webpack)-dev-server/client?http://localhost:8080 (webpack)/hot/dev-server.js ./src/index.js main[2]He intentado reinstalar babel-core pero aún no se encuentra. Aquí está mi paquete.json:
{ "name": "webpack4-sample", "version": "1.0.0", "description": "A sample setup of Webpack4 with React and Babel", "main": "index.js", "scripts": { "start": "webpack-dev-server --mode development --open --hot", "build": "webpack --mode production" }, "author": "Joey Fenny", "license": "ISC", "dependencies": { "babel": "^6.23.0", "babel-cli": "^6.26.0", "react": "^16.4.2", "react-dom": "^16.4.2" }, "devDependencies": { "babel-core": "^7.0.0-rc.4", "babel-loader": "^8.0.0", "babel-preset-env": "^1.7.0", "babel-preset-react": "^6.24.1", "html-webpack-plugin": "^3.2.0", "webpack": "^4.17.1", "webpack-cli": "^3.1.0", "webpack-dev-server": "^3.1.6" } }Mi webpack.config.js:
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: './src/index.js', output: { path: path.join(__dirname, '/dist'), filename: 'index_bundle.js' }, module: { rules: [{ test: /\.js$/, exclude: path.join(__dirname, '/node_modules'), use: { loader: 'babel-loader' } }] }, plugins: [ new HtmlWebpackPlugin({ template: './src/index.html' }) ] }Aquí hay un enlace a un repositorio de git:
https://gitlab.com/jfny/webpack4-sample
¿Alguien sabe qué está pasando? Gracias.
Intenta ejecutar esto.
npm install @babel/core --save babel cambió su paquete para que su babel-core no sea el mismo que @babel/core .
La reciente actualización de Babel a la versión 7 cambió los nombres de los paquetes de nodos.
Por ejemplo, ahora tienes que instalar
npm install --save-dev @babel/core @babel/preset-envy
npm install --save-dev @babel/preset-reactpara que funcione con React. Luego puede usarlos en su archivo .babelrc :
{ "presets": [ "@babel/preset-env", "@babel/preset-react" ] }O como alternativa, cuando no tenga un .babelrc , en su paquete.json :
... "keywords": [], "author": "", "license": "ISC", "babel": { "presets": [ "@babel/preset-env", "@babel/preset-react" ] }, "devDependencies": { ...Si desea obtener más información, puede consultar esta configuración reciente de Webpack + Babel + React .
Eliminé la npm uninstall babel-core babel-preset-env babel-preset-react
y agregué sus nuevos nombres npm install --save-dev @babel/core @babel/preset-env @babel/preset-react eso me funciona perfectamente.