Skip to content

Commit 45b4c35

Browse files
committed
docs: Add Spanish Plugin API guide and update gitignore to exclude VitePress graphviz cache.
1 parent 5a09105 commit 45b4c35

2 files changed

Lines changed: 22 additions & 21 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ playground-temp
1818
temp
1919
TODOs.md
2020
.eslintcache
21+
.vitepress/cache/graphviz/*

docs/guide/api-plugin.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -111,38 +111,38 @@ Mira el ejemplo en [la siguente sección](./api-plugin.md#convencion-de-modulos-
111111

112112
Los módulos virtuales son un esquema útil que le permite pasar información de tiempo de compilación a los archivos de origen utilizando la sintaxis de importación de ESM normal.
113113

114+
```js
114115
import { exactRegex } from '@rolldown/pluginutils'
115116

116117
export default function myPlugin() {
117-
const virtualModuleId = 'virtual:my-module'
118-
const resolvedVirtualModuleId = '\0' + virtualModuleId
119-
120-
return {
121-
name: 'my-plugin', // requerido, aparecerá en advertencias y errores
122-
resolveId: {
123-
filter: { id: exactRegex(virtualModuleId) },
124-
handler() {
125-
return resolvedVirtualModuleId
126-
},
127-
},
128-
load: {
129-
filter: { id: exactRegex(resolvedVirtualModuleId) },
130-
handler() {
131-
return `export const msg = "from virtual module"`
132-
},
133-
},
134-
}
135-
}
118+
const virtualModuleId = 'virtual:my-module'
119+
const resolvedVirtualModuleId = '\0' + virtualModuleId
136120

137-
````
121+
return {
122+
name: 'my-plugin', // requerido, aparecerá en advertencias y errores
123+
resolveId: {
124+
filter: { id: exactRegex(virtualModuleId) },
125+
handler() {
126+
return resolvedVirtualModuleId
127+
},
128+
},
129+
load: {
130+
filter: { id: exactRegex(resolvedVirtualModuleId) },
131+
handler() {
132+
return `export const msg = "from virtual module"`
133+
},
134+
},
135+
}
136+
}
137+
```
138138

139139
Lo que permite importar el módulo en JavaScript:
140140

141141
```js
142142
import { msg } from 'virtual:my-module'
143143

144144
console.log(msg)
145-
````
145+
```
146146

147147
Los módulos virtuales en Vite (y Rolldown / Rollup) tienen el prefijo `virtual:` para la ruta orientada al usuario por convención. Si es posible, el nombre del plugin debe usarse como un espacio de nombre para evitar colisiones con otros plugins en el ecosistema. Por ejemplo, `vite-plugin-posts` podría pedirles a los usuarios que importe módulo virtuales `virtual:posts` o `virtual:posts/helpers` para obtener información sobre el tiempo de compilación. Internamente, los plugins que usan módulos virtuales deben prefijar la ID del módulo con `\0` mientras resuelven la ID, una convención del ecosistema de Rollup. Esto evita que otros plugins intenten procesar el id (como la resolución de node), y las funciones principales, como los mapas de origen, puedan usar esta información para diferenciar entre módulos virtuales y archivos normales. `\0` no es un carácter permitido en las URL de importación, por lo que debemos reemplazarlo durante el análisis de importación. Una identificación virtual `\0{id}` termina codificada como `/@id/__x00__{id}` durante el desarrollo en el navegador. El id se decodificará antes de ingresar a la canalización de plugins, por lo que el código de hooks de plugins no lo ve.
148148

0 commit comments

Comments
 (0)