Un generador de sitios web estáticos que le permite utilizar servidores HTTP y marcos que ya conoce. Simplemente dígale a Staticgen cómo iniciar su servidor, luego observe cómo rastrea su sitio y genera una versión estática con todas las páginas y activos necesarios.
Si no está familiarizado, puede usar el comando wget, de hace décadas, para generar un sitio web estático a partir de uno dinámico; este proyecto está diseñado específicamente para la misma idea, lo que le permite a su equipo usar cualquier servidor y marco HTTP que esté utilizando. ya estoy familiarizado, en cualquier idioma.
Todavía no he realizado ningún punto de referencia científico ni comparaciones, pero aquí hay algunos resultados de mi MBP de 8 núcleos de 2014:
A través de gobinaries.com:
$ curl -sf https://gobinaries.com/tj/staticgen/cmd/staticgen | sh
La configuración se almacena en un archivo ./static.json
en el directorio raíz de su proyecto. Están disponibles las siguientes opciones:
"http://127.0.0.1:3000"
."build"
.[]
.30
. Primero cree el archivo de configuración ./static.json
, por ejemplo, aquí está la configuración para el servidor Go, la única propiedad requerida es command
:
{
"command" : " go run main.go " ,
"concurrency" : 50 ,
"dir" : " dist "
}
A continuación se muestra un ejemplo de un servidor Node.js. Tenga en cuenta que NODE_ENV
está asignado a producción para que se utilicen optimizaciones como las cachés de plantillas Express para mejorar el rendimiento del servicio.
{
"command" : " NODE_ENV=production node server.js "
}
Ejecute el comando staticgen
para iniciar el proceso de renderizado previo:
$ staticgen
Staticgen ejecuta el command
que proporcionó y espera a que el servidor esté disponible en la url
configurada. Las páginas y los recursos se copian en el dir
configurado y luego se apaga el servidor.
De forma predeterminada, el tiempo de espera para el proceso de generación es de 15 minutos; dependiendo de su situación, es posible que desee aumentarlo o disminuirlo con el indicador -t, --timeout
, aquí hay algunos ejemplos:
$ staticgen -t 30s
$ staticgen -t 15m
$ staticgen -t 1h
Al ejecutar el command
, Staticgen establece la variable de entorno STATICGEN
en 1
, lo que le permite modificar el comportamiento si es necesario.
Para ver el sitio pre-renderizado, ejecute el siguiente comando para iniciar un servidor de archivos estático y abrir el navegador:
$ staticgen serve
Consulte el directorio de ejemplos para obtener ejemplos completos.
Staticgen no prerenderiza usando un navegador sin cabeza, esto lo hace más rápido, sin embargo, significa que no puedes confiar en que JavaScript del lado del cliente manipule la página.
Este proyecto está patrocinado por CTO.ai, lo que facilita a los equipos de desarrollo crear y compartir automatizaciones de flujo de trabajo sin salir de la línea de comandos.
Y mis patrocinadores de GitHub: