Lors du déploiement d'une application Go, il peut être fastidieux d'inclure des fichiers statiques tels que CSS et JavaScript dans votre package de déploiement. Pour simplifier ce processus, cet article explore une approche alternative : intégrer ces fichiers statiques directement dans le binaire de l'application et les servir à partir de la mémoire.
Le gestionnaire FileServer standard nécessite un système de fichiers objet, généralement créé à l'aide de http.Dir pour représenter le système de fichiers sous-jacent. Cependant, en implémentant votre propre FileSystem, vous pouvez servir des fichiers à partir de la mémoire.
Le code fourni démontre cette implémentation de FileSystem personnalisée (InMemoryFS) avec deux fonctions : Open et LoadFile. Open récupère le fichier de la carte mémoire et LoadFile construit un objet InMemoryFile avec les informations nécessaires.
Pour prendre en charge le service de fichiers à partir de la mémoire, le type InMemoryFile implémente le Interface http.Fichier. Il comprend des méthodes pour fermer, récupérer des informations sur le fichier, lire et rechercher dans le fichier.
Une fois le FileSystem personnalisé défini, vous pouvez l'utiliser avec le gestionnaire FileServer comme habituel. L'exemple de code initialise InMemoryFS, charge les fichiers statiques en mémoire et configure le FileServer avec le FileSystem personnalisé.
Remarque : Bien que l'implémentation fournie fonctionne pour le service de fichiers statiques de base, elle présente certaines limites et n’est pas recommandé pour une utilisation en production. Consultez la référence fournie pour une solution plus robuste.
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!