J'essaye de déployer mon application sur mon ordinateur local pour simuler le processus de déploiement. Vous appelez cela le mode de mise en scène ou peu importe. Les outils que j'ai utilisés incluent pm2 et Nginx.Comment configurer expressjs pour servir index.html en mode production?
Je peux utiliser mon application Web lorsque j'exécute mon application en utilisant pm2 start server.js
directement dans mon projet. Le client peut accéder au fichier index.html
via un serveur Nginx. Mais je pense que ce n'est pas le mode de production à moins que j'utilise aussi --env production
.
Je copie tous les fichiers nécessaires dans le répertoire dist
de mon projet, configuré Nginx pour servir le contenu statique et dans mon code source, je veux utiliser
app.get('/', function(req, res) {
res.sendFile('index.html', {root: somePath});
});
pour permettre aux clients d'accéder à le fichier index.html
sur le serveur express. Mais je ne suis pas sûr de savoir quoi mettre dans somePath
? Je sépare le côté serveur et le côté client lorsque je déploie mon projet sur le serveur. Par exemple, mon côté serveur est sur /usr/path/server
mais mon côté client est sur /etc/shared/html
. Si je dérange avec les chemins, je recevrai un message d'erreur "interdit" de express lorsque j'accède index.html
.
je pense que vous devez utiliser ce https://github.com/expressjs/serve-static –
@ArtemIlchenko J'utilise Nginx pour servir le contenu statique. Pourquoi devrais-je utiliser ce module? – newguy