Un générateur de sites Web statiques qui vous permet d'utiliser des serveurs et des frameworks HTTP que vous connaissez déjà. Dites simplement à Staticgen comment démarrer votre serveur, puis regardez-le explorer votre site et générer une version statique avec toutes les pages et tous les actifs requis.
Si vous n'êtes pas familier, vous pouvez réellement utiliser la commande wget vieille de plusieurs décennies pour générer un site Web statique à partir d'un site Web dynamique. Ce projet est spécialement conçu pour la même idée, permettant à votre équipe d'utiliser les serveurs et frameworks HTTP dont vous disposez. déjà familier, dans n'importe quelle langue.
Je n'ai pas encore fait de benchmarks ou de comparaisons scientifiques, mais voici quelques résultats sur mon MBP 8 cœurs 2014 :
Via gobinaries.com :
$ curl -sf https://gobinaries.com/tj/staticgen/cmd/staticgen | sh La configuration est stockée dans un fichier ./static.json dans le répertoire racine de votre projet. Les options suivantes sont disponibles :
"http://127.0.0.1:3000" ."build" .[] .30 . Créez d'abord le fichier de configuration ./static.json , par exemple voici la configuration du serveur Go, la seule propriété requise est command :
{
"command" : " go run main.go " ,
"concurrency" : 50 ,
"dir" : " dist "
} Vous trouverez ci-dessous un exemple de serveur Node.js. Notez que NODE_ENV est affecté à la production afin que des optimisations telles que les caches de modèles Express soient utilisées pour améliorer les performances de diffusion.
{
"command" : " NODE_ENV=production node server.js "
} Exécutez la commande staticgen pour démarrer le processus de pré-rendu :
$ staticgen
Staticgen exécute la command que vous avez fournie, attend que le serveur soit disponible sur l' url configurée. Les pages et les ressources sont copiées dans le dir configuré, puis votre serveur est arrêté.
Par défaut, le délai d'attente pour le processus de génération est de 15 minutes, selon votre situation, vous souhaiterez peut-être l'augmenter ou le diminuer avec l'indicateur -t, --timeout , voici quelques exemples :
$ staticgen -t 30s
$ staticgen -t 15m
$ staticgen -t 1h
Lors du lancement de la command , Staticgen définit la variable d'environnement STATICGEN à 1 , vous permettant de modifier le comportement si nécessaire.
Pour afficher le site pré-rendu, exécutez la commande suivante pour démarrer un serveur de fichiers statiques et ouvrir le navigateur :
$ staticgen serve
Voir le répertoire des exemples pour des exemples complets.
Staticgen ne pré-rend pas à l'aide d'un navigateur sans tête, cela le rend plus rapide, mais cela signifie que vous ne pouvez pas compter sur JavaScript côté client pour manipuler la page.
Ce projet est sponsorisé par CTO.ai, permettant aux équipes de développement de créer et de partager facilement des automatisations de flux de travail sans quitter la ligne de commande.
Et mes sponsors GitHub :