El gancho de carga nos permite obtener el código para un determinado id, y es útil para implementar módulos virtuales, por ejemplo. Estos son módulos que no existen en el sistema de archivos, pero los cargamos sobre la marcha. Generamos el código para ellos sobre la marcha. El gancho de transformación nos brinda la oportunidad de transpilar el código de un módulo, por ejemplo, para eliminar los tipos, la información o compilar JSX. Y con el gancho de renderización de fragmentos, podemos transpilar cada fragmento de paquete, por ejemplo, minimizándolo con ESBuild.
El primer complemento en el pipeline es el complemento de alias, y este es el complemento de alias oficial de Rollout, y como vimos, la mayoría de los complementos de Rollout son compatibles, y varios de ellos se utilizan directamente en su pipeline interno. Este complemento permite a los usuarios configurar un mapa de alias, por lo que las rutas de importación comunes pueden ser más manejables, un buen caso de uso para el gancho de resolución de ID. Por ejemplo, si hay un alias de componentes que se resuelve en esta carpeta, el usuario podrá escribir una importación sin importar dónde se encuentre en el árbol de carpetas, siempre como un slash components slash vuto.vue, y el complemento de alias lo transpilará a la ubicación correcta.
Luego tenemos los complementos previos del usuario. Este es el primer lote de complementos del usuario. En Vite, hay una única lista de complementos, pero una bandera obligatoria permite a los usuarios decidir dónde se debe insertar este complemento en el pipeline. El complemento de resolución de Vite implementa la lógica de resolución para PATH, como la resolución de paquetes. El complemento de CSS de Vite nos brinda soporte para módulos CSS, PostCSS y otros preprocesadores de CSS. El complemento de ES Build de Vite transpila las fuentes CSS, eliminando los tipos y compilando CSS utilizando ES Build. Luego tenemos algunos complementos de Vite JSON, Vite WASM y Vite Worker, que son complementos de características que nos brindan soporte para patrones comunes, como importar un archivo JSON como un objeto.
Aquí podemos ver que incluso podemos importar un campo raíz del JSON como un nombre en la exportación, y esto ayuda con el tree shaking. Luego tenemos el complemento de activos de Vite, que implementa el manejo de activos importados. Por ejemplo, se puede importar una imagen y se obtiene una URL que se puede usar tal cual en el código de la aplicación, y Vite codificará la imagen como una URL base 64 por debajo de un límite de tamaño de celda configurable como una optimización de fábrica. Luego tenemos el complemento de CSS POST de Vite, que utiliza ES Build para minimizar CSS, y desempeña un papel en la transformación de la importación dinámica, por lo que su CSS relacionado se precarga cuando se solicita el fragmento js.async correspondiente. Como dijimos, una importación dinámica se instrumenta, por lo que los activos relacionados se precargan cuando se va a importar, y esto también es una optimización que se obtiene de fábrica. El complemento de HTML construido por VIT procesa los puntos de entrada HTML, reemplazando los scripts y las hojas de estilo con su versión de paquete y optimizada, como vimos antes. Hay algunos complementos que permiten el manejo de importaciones dinámicas importMetaURL e importaciones globales. Por ejemplo, importMetaGlobe nos permite importar un conjunto de módulos desde el sistema de archivos utilizando un patrón de globo, y esta sintaxis es compatible con el complemento de análisis de importación de VIT build, que se expande como una lista de importaciones regulares. Por lo tanto, podemos ver que aquí estamos solicitando todos los archivos shales en la carpeta dir y esto será transformado por el complemento de análisis de importación de construcción en una lista expandida con cada importación dinámica para todos los archivos que están en esa carpeta en el momento de la construcción. El complemento de transpilación de vid ESbuild aprovecha ESbuild para compilar shales a los objetivos configurados y minimizar el código del paquete. Hace algunas versiones menores, vid lo usaba tarsier para la minimización de forma predeterminada, pero una vez que la minimización de ESbuild maduró lo suficiente, se cambió como predeterminado, acelerando en gran medida el proceso de construcción. Y esto también es importante en la filosofía de vid porque vid utilizará la mejor herramienta disponible en ese momento y cambiará las herramientas internas a medida que evolucione el ecosistema.
Los complementos de vid manifest y vid SSR manifest permiten a los proyectos generar metadatos sobre los fragmentos generados que se pueden utilizar para integrar vid con otras herramientas, como rails o Laravel. Por ejemplo, el complemento de vid manifest genera un archivo manifest.json que contiene un mapeo de nombres de archivo de activos no hash a sus versiones hash, que luego puede ser utilizado por un marco de servidor para renderizar el activo correcto.
Comments