Estoy desarrollando un proyecto express de nodejs.
En el proyecto hay una carpeta pública con muchas subcarpetas como js, css, imágenes, etc. Originalmente, servir archivos de estas carpetas usaba este código:
app.use(express.static(__dirname + '/public'));El servidor puede servir todos los archivos solicitados usando esto, pero el servidor no encuentra los archivos en la carpeta js. Si cambio el nombre de la carpeta de 'js' a algo más, entonces funciona.
Entonces, por ejemplo, el servidor no lo encuentra si la URL solicitada es /js/work/work.js:
app.use('/js',express.static(path.join(__dirname, '/public/js')));pero esto se encuentra si la URL solicitada es /asd/work/work.js:
app.use('/asd',express.static(path.join(__dirname, '/public/asd')));Anteriormente estaba usando Mac y Windows para el desarrollo, pero ahora cambié a Ubuntu y luego sucedió algo extraño.
index.js arriba de su configuración de motor de vista app.use(express.static(path.join(__dirname, "public"))); |__public/ |__ css/ |__ css files... |__ js/ |__ js files...3. Importar de esta manera
Ahora establece la ruta al directorio público, debe proporcionar la carpeta pública de ruta cuando importa
//For CSS File <link rel="stylesheet" href="/css/main.css" /> //For JS File <script src="/js/script.js"></script>