Estoy confundido sobre qué hace exactamente el script de compilación y cómo se relaciona con la implementación.
Sé que hace que su proyecto sea pequeño al cambiar el nombre de las variables, recortar los espacios en blanco, etc., pero ¿cómo funciona con la implementación?
¿Solo envía los archivos generados por el script de compilación?
parcel build
se utiliza para crear un paquete de archivos listo para producción que se puede implementar de varias maneras.
Un flujo de trabajo muy común es apuntar un paquete a un archivo html
para crear una aplicación del lado del cliente que puede ser entregada por un servidor de archivos (p. ej., parcel build src/index.html
). En este escenario, todo el JavaScript lo ejecuta el navegador del usuario y el servidor solo es responsable de servir los archivos estáticos creados por la parcel build
.
El núcleo de Heroku es una plataforma que se centra en ejecutar aplicaciones de servidor , es decir, aplicaciones que ejecutan la mayor parte o gran parte de su código en un servidor, no en el navegador. Usted mencionó el script de "start"
de heroku (ver documentos ), que se usa en el contexto de tales aplicaciones. Si está escribiendo una aplicación de servidor heroku en, por ejemplo, nodejs, el script de start
le diría a heroku qué archivo javascript era el punto de entrada a su aplicación de nodo (por ejemplo, "start": "node dist/index.js"
. Si quería usar el paquete en un proyecto de este tipo (por ejemplo, para reducir el tamaño de su código del lado del servidor para que heroku dynos pueda iniciarse más rápido), podría ejecutarlo en el contexto de un comando de "build"
(por ejemplo, "build": "parcel build/src/index.js"
).
Si su aplicación es html/js/css completamente estático (es decir, el primer escenario), podría considerar otra plataforma de alojamiento como páginas de cloudflare o Amazon Amplify , que probablemente será más barata, rápida y sencilla. Pero si desea utilizar heroku, debe configurarlo para que se ejecute el código del servidor que entregará los archivos html/js/css estáticos generados por el paquete. Hay muchas maneras de hacer esto: una sería crear una aplicación express
simple con el middleware serve-static
, como se describe aquí .