Ceci est ma structure du projet:Express: service de fichiers statiques travail non
-backend
-server.js
-www
-index.html
-app.css
-bundle.js
Je reçois un problème express ne pas être en mesure de servir les fichiers statiques avec urls ayant 2 + slash comme celui-ci
localhost:3000/product/1
mais il fonctionne très bien pour les URL avec seulement 1 slash:
localhost:3000/register
localhost:3000/home
problème se produit car il essaie toujours d'obtenir
localhost: 3000/product/1/app.css
et
localhost: 3000/product/1/bundle.js
quand aller à
localhost: 3000/produit/1
C'est ma configuration en server.js:
app.use(express.static(path.resolve(__dirname, '../www')));
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, '../www', 'index.html'))
});
Assurez-vous, dans le code HTML, que vous faites un lien vers "/app.css" au lieu de simplement "app.css". Ce dernier recherchera app.css sur l'URL actuelle au lieu de la racine. Cela ne semble pas être un problème avec vos ressources statiques. – danneu
D'accord avec @danneu. Si vous faites référence aux fichiers statiques avec le contexte racine en utilisant /filename.ext, tout devrait fonctionner correctement. –
J'utilise en fait "./app.css" et "./bundle.js" dans mon fichier d'index. Je pense que cela ne devrait pas causer le problème. – sharius2301