Estoy atascado con este estúpido error 500 porque mis scripts js personalizados no se cargan. Estoy ejecutando un servidor node.js localmente con express y express-handlebars.
aquí está mi archivo app.js
const express = require('express'); const { engine } = require ('express-handlebars'); const app = express(); const port = process.env.PORT || 3001; app.engine("handlebars", engine({defaultLayout: 'main'})); app.set("view engine", "handlebars"); app.set('views', './views'); app.get("/", (req, res) => res.render("home")); app.get("/recognitions", (req, res) => res.render("recognitions")); // 404 page app.use((req, res) => { res.status(404); res.render("404"); }); // custom 500 page app.use((err, req, res, next) => { console.error(err.message) res.type('text/plain') res.status(500) res.send('500 - Server Error') }) app.listen(port);//aquí comienza mi archivo main.handlebars
<!DOCTYPE html> <html lang="en"> <head> <script defer src="../../script.js"></script> <script defer src = "../../face-api-min.js"></script> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>the 1984</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <link rel="stylesheet" type="text/css" href="css/custom.css"> </head> <body> <nav> <a href="/">home</a> <a href="/recognitions">recognitions</a> </nav> {{{body}}} </body> </html>stackoverflow me pide que agregue más detalles pero no sé qué agregar
app.use(express.static(__dirname + '/public')) cada archivo estático debe estar en el directorio '/public' y debe agregarlo para que sea legible desde el servidor