# Function: vitePluginPixivn() (/jsdoc/pixi-vn/vite/functions/vitePluginPixivn)



\> **vitePluginPixivn**(`options?`): `Plugin`

Defined in: [src/vite/plugins.ts:122](https://github.com/DRincs-Productions/pixi-vn/blob/998c1a75c5978f24c0dc137af5f42b90b2803967/src/vite/plugins.ts#L122)

Creates a Vite plugin for Pixi'VN integration.

**Static content loading**

When [VitePluginPixivnOptions.content](/jsdoc/pixi-vn/vite/interfaces/VitePluginPixivnOptions#content), [VitePluginPixivnOptions.characters](/jsdoc/pixi-vn/vite/interfaces/VitePluginPixivnOptions#characters), or
[VitePluginPixivnOptions.labels](/jsdoc/pixi-vn/vite/interfaces/VitePluginPixivnOptions#labels) are provided, the matched files are executed server-side
via Vite SSR at startup, populating `RegisteredCharacters`, `RegisteredLabels`, and any other
singletons before downstream plugins (such as `vitePluginInk`) run — including during
`vite build`.

**Dev-server HTTP endpoints**

* `GET  /__pixi-vn/characters` — retrieve registered characters
* `POST /__pixi-vn/characters&#x60; — &#x2A;(deprecated)* update from client; use the `characters` option instead
* `GET  /__pixi-vn/labels` — retrieve narration labels
* `POST /__pixi-vn/labels&#x60; — &#x2A;(deprecated)* update from client; use the `labels` / `content` option instead
* `GET  /__pixi-vn/assets/manifest` — retrieve PIXI assets manifest
* `POST /__pixi-vn/assets/manifest` — update assets manifest from client
* `GET  /__pixi-vn/canvas-options` — retrieve canvas rendering options
* `POST /__pixi-vn/canvas-options` — update canvas options from client

**Plugin API** (consumed by `vitePluginInk`):

* `api.contentLoaded` — `Promise<void>` that resolves once all content modules have finished
  loading.  Await this before generating JSON files.

Parameters [#parameters]

options? [#options]

[`VitePluginPixivnOptions`](/jsdoc/pixi-vn/vite/interfaces/VitePluginPixivnOptions)

Optional plugin configuration.

Returns [#returns]

`Plugin`

A Vite plugin.

Example [#example]

```typescript
// vite.config.ts
import { defineConfig } from "vite";
import { vitePluginPixivn } from "@drincs/pixi-vn/vite";

export default defineConfig({
  plugins: [
    vitePluginPixivn({ content: "./src/content/index.ts" }),
  ],
});
```
