Creé un servidor React/Express pero cuando intento importar el arranque obtengo lo siguiente:
Error
./node_modules/react-bootstrap/esm/Button.js Module parse failed: Unexpected token (18:2) You may need an appropriate loader to handle this file type. | active, | className, | ...props | }, ref) => { | const prefix = useBootstrapPrefix(bsPrefix, 'btn');Configuración
Aplicación.js
import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; import Customers from './components/customers'; import Button from 'react-bootstrap/Button'; import 'bootstrap/dist/css/bootstrap.min.css'; class App extends Component { render() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h1 className="App-title">React Express Starter</h1> </header> <Customers /> <div> <div id="wallet-address"></div> </div> </div> ); } } export default App;índice.js
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import registerServiceWorker from './registerServiceWorker'; ReactDOM.render(<App />, document.getElementById('root')); registerServiceWorker();Tengo un paquete web instalado en ambos paquetes. Estoy completamente perdido en cuanto a por qué está ocurriendo el problema. Hice lo mismo sin Express sin problemas, pero tanto con Express como con React parece que no puedo importar ningún paquete sin obtener el mismo error.
Cualquier ayuda sería muy apreciada.
Una configuración de desarrollo típica de React/Express se ve así, suponiendo que el servidor de desarrollo de la aplicación React se ejecuta en el puerto 3000 y Express en el 5000...
Solicitudes de API de proxy para Express. En client/package.json agregar
"proxy": "http://localhost:5000",Inicie su aplicación Express como prefiera iniciarla
Inicie su aplicación React a través npm start / yarn start en la carpeta de la aplicación ( client en su caso).
Abra su navegador en http://localhost:3000
Al instalar bibliotecas del lado del cliente, como react-bootstrap, asegúrese de instalarlas en el archivo client/package.json .
Una compilación de producción se parece más a esto
Haga que Express sirva estáticamente archivos desde su directorio de build y maneje las rutas de frontend
// make sure this comes after any routes, preferably last const path = requires("path"); const clientBuild = path.join(__dirname, "client", "build"); app.use(express.static(clientBuild)); app.get("/*", (_req, res) => { res.sendFile(path.join(clientBuild, "index.html")); });Cree su aplicación React a través npm run build / yarn build en la carpeta del client .
Inicie su aplicación Express como prefiera iniciarlat
Abra http://localhost:5000 en su navegador.
Tenga en cuenta que realizar cambios en su aplicación React en modo de producción requiere una reconstrucción (paso n. ° 2).