Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vitejs/vite-plugin-vue2
Vite plugin for Vue 2.7
https://github.com/vitejs/vite-plugin-vue2
Last synced: 4 days ago
JSON representation
Vite plugin for Vue 2.7
- Host: GitHub
- URL: https://github.com/vitejs/vite-plugin-vue2
- Owner: vitejs
- License: mit
- Created: 2022-06-17T03:01:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-26T15:18:51.000Z (2 months ago)
- Last Synced: 2025-01-21T14:06:51.518Z (12 days ago)
- Language: TypeScript
- Size: 156 KB
- Stars: 559
- Watchers: 10
- Forks: 49
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-vite - v2 - Official Vue 2 support. (Plugins / Vue)
- awesome-vite - v2 - Official Vue 2 support. (Plugins / Vue)
README
# @vitejs/plugin-vue2 [![npm](https://img.shields.io/npm/v/@vitejs/plugin-vue2.svg)](https://npmjs.com/package/@vitejs/plugin-vue2)
> [!CAUTION]
> Vue 2 has reached EOL, and this project is no longer actively maintained.---
> Note: this plugin only works with Vue@^2.7.0.
```js
// vite.config.js
import vue from '@vitejs/plugin-vue2'export default {
plugins: [vue()]
}
```## Options
```ts
export interface Options {
include?: string | RegExp | (string | RegExp)[]
exclude?: string | RegExp | (string | RegExp)[]isProduction?: boolean
// options to pass on to vue/compiler-sfc
script?: Partial>
template?: Partial<
Pick<
SFCTemplateCompileOptions,
| 'compiler'
| 'compilerOptions'
| 'preprocessOptions'
| 'transpileOptions'
| 'transformAssetUrls'
| 'transformAssetUrlsOptions'
>
>
style?: Partial>
}
```## Asset URL handling
When `@vitejs/plugin-vue2` compiles the `` blocks in SFCs, it also converts any encountered asset URLs into ESM imports.
For example, the following template snippet:
```vue
```Is the same as:
```vue
import _imports_0 from '../image.png'
```
```vue
```By default the following tag/attribute combinations are transformed, and can be configured using the `template.transformAssetUrls` option.
```js
{
video: ['src', 'poster'],
source: ['src'],
img: ['src'],
image: ['xlink:href', 'href'],
use: ['xlink:href', 'href']
}
```Note that only attribute values that are static strings are transformed. Otherwise, you'd need to import the asset manually, e.g. `import imgUrl from '../image.png'`.
## Example for passing options to `vue/compiler-sfc`:
```ts
import vue from '@vitejs/plugin-vue2'export default {
plugins: [
vue({
template: {
compilerOptions: {
// ...
},
transformAssetUrls: {
// ...
}
}
})
]
}
```## Example for transforming custom blocks
```ts
import vue from '@vitejs/plugin-vue2'const vueI18nPlugin = {
name: 'vue-i18n',
transform(code, id) {
if (!/vue&type=i18n/.test(id)) {
return
}
if (/\.ya?ml$/.test(id)) {
code = JSON.stringify(require('js-yaml').load(code.trim()))
}
return `export default Comp => {
Comp.i18n = ${code}
}`
}
}export default {
plugins: [vue(), vueI18nPlugin]
}
```## License
MIT