Maison > interface Web > js tutoriel > Comment déployer une application Node.js Express sur Netlify (4)

Comment déployer une application Node.js Express sur Netlify (4)

DDD
Libérer: 2024-11-10 10:57:02
original
1036 Les gens l'ont consulté

Netlify ne facilite pas l'hébergement d'une application Web Express. J'espère que vous trouverez ce guide utile.

Mesures

  • Structurez votre application de la même manière que ci-dessous :

How to deploy a Node.js Express app on Netlify (4)

  • Suivez ce guide https://docs.netlify.com/frameworks/express/ . J'ai supprimé node_bundler = "esbuild" car il a généré une erreur ESM et tout a bien fonctionné malgré tout.
  • Lors de la création du fichier netlify.toml, conservez les redirections spécifiques à l'API et à tous les points de terminaison que vous souhaitez servir via Express. Une redirection générale (c'est-à-dire "/*") perturbera votre CDN et votre service de fichiers statiques.

How to deploy a Node.js Express app on Netlify (4)

  • (Facultatif) Utilisez un fichier de serveur local pour le développement afin de garder les choses plus ordonnées, comme l'image :

How to deploy a Node.js Express app on Netlify (4)

  • Le package.json peut ressembler à ceci :

     "scripts": {
        "start": "node ./functions/server.js",
        "build": "netlify deploy --prod",
        "build-dev": "NODE_ENV=development webpack --mode development --watch",
        "dev": "NODE_ENV=development node server-local.js",
        "dev-watch": "NODE_ENV=development nodemon --exec node server-local.js",
    },
    
    Copier après la connexion
  • Écrivez votre code server.mjs tel que l'image :

How to deploy a Node.js Express app on Netlify (4)

  • Dans le fichier index.html et le reste des fichiers .html, il est préférable de définir le chemin vers CSS, JS et autres actifs sur le CDN qui fonctionnera à la fois en développement et en production, c'est-à-dire :


  • Courir développeur netlify sur la console pour tester avant déploiement

Leçons clés

  • L'application server.js ou server.mjs n'a accès qu'à /netlify/functions. Le dossier « public » ou « dist » ou « static » ne sera pas ajouté au dossier netlify sauf indication explicite dans le fichier netlify.toml à l'aide de la commande
[functions]
  included_files = [
    "static/views/**"  # Include all files in static/views for server-side access
  ] 
Copier après la connexion
  • Les actifs statiques sont mieux servis par le CDN de Netlify, ce qui se produira automatiquement si dans le fichier netlify.toml vous utilisez la commande
[build]
  publish = "static"  # Static assets to be served by Netlify's CDN. Folder defaults to public
Copier après la connexion
  • Les instructions Console.log en dehors des points de terminaison du routeur ne sont pas affichées sur la console.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal