Quiero poder enviar los mismos archivos por diferentes rutas como /stuff y /stuff/foo, el problema es que cuando intento hacer esto, aparece el siguiente error:
Refused to execute script from 'http://localhost:8000/stuff/main.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.Aquí está el código:
app.use("/", express.static(path.join(__dirname, "./../public"))); app.get("/stuff", sendIndexHTML); app.get("/stuff/:id", sendIndexHTML); function sendIndexHTML(req, res) { res.sendFile(path.join(__dirname + "./../public/index.html")); }Está haciendo referencia a main.js en su index.html como una ruta relativa, por lo que se sirve desde /stuff , que esa ruta está configurada para devolver index.html (que tiene un tipo de mime text/html ).
Lo que debe hacer es actualizar la ruta del archivo de script en su archivo html.
cambio
<script src="main.js"></script>a
<script src="/main.js"></script>de esa manera, se sirve desde la ruta raíz que está configurada para servir activos estáticos.