Antes de hacer esta pregunta, investigué sobre SO y encontré algunas cosas, pero una de ellas funcionó en mi escenario. Estoy tratando de cargar mi sitio web React desde un servidor back-end Express.
Mi estructura de carpetas es la siguiente:
client build css styles.css index.html server server.js Solo estoy probando y experimentando con express en este momento principalmente para aprender un poco más sobre él y mi archivo server.js se ve así
const express = require('express'); const app = express(); const path = require("path"); app.get("/api", (req, res) => { res.json({"users": ["userOne", "userTwo"]}) }) app.use(express.static(path.join(__dirname, "..", "client", "build"))); app.use(express.static("../client/public")); app.listen(5000, () => console.log("server started on port 5000")) Mi encabezado index.html
<meta charset="utf-8" /> <link rel="icon" href="./images/logo.png" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <link rel="preconnect" href="https://fonts.gstatic.com"> <link type="css" rel="stylesheet" href="/css/styles.css" /> <meta name="description" content="Welcome to Sintra Welcome Centre" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.rawgit.com/prashantchaudhary/ddslick/master/jquery.ddslick.min.js"></script> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />Cuando ejecuto el servidor en el puerto 5000, puedo ver que el HTML se está cargando bien, pero no puedo ver ninguna referencia al archivo styles.css en ninguna parte, al verificar en la pestaña de red parece que no se está cargando en absoluto.
¿Alguien puede detectar mi error? Gracias
El validador de marcado habría detectado este error si lo hubiera usado.
<link type="css" rel="stylesheet" href="/css/styles.css" />
El único tipo de MIME que los navegadores reconocen para CSS es text/css .
Le ha dicho que espere css (que de todos modos no es un tipo MIME válido), por lo que el navegador cree que no puede usar la hoja de estilo porque no está en un formato conocido.
En consecuencia, no intenta cargarlo.
Omita el atributo de type .