Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
V

vue-vine

> 编程语言
Open source

Another style of writing Vue components.

1.4K stars0 likes0 views
WebsiteGitHub

About

Another style of writing Vue components.



  • Contribution Guide
  • 中文 README

Another style of writing Vue components.

  • NPM version:  
  • VSCode extension:  
  • Open VSX extension:  
  • Check more details in Vue Vine docs:  

Why this ?

There are many discussions in community that hopes for a solution that supports writing multiple Vue components in a single file. That's why Vue Vine was born.

Vue Vine was designed to provide more flexibility of managing Vue components. It is a parallel style to SFC.

Take a quick view:

Try the demo

Use interactive commands(create-vue-vine) to create your first project. Look here: Project starter template

Or you can try it online: Vue Vine Playground

Relevant packages

Category Package Version Description
@vue-vine/compiler Compiler
@vue-vine/language-server Language Server
@vue-vine/language-service Language Service
@vue-vine/vite-plugin Vite Plugin
@vue-vine/rspack-loader Rspack Loader
@vue-vine/rsbuild-plugin Rsbuild Plugin
@vue-vine/eslint-parser ESLint Parser
@vue-vine/eslint-plugin ESLint Plugin
@vue-vine/eslint-config ESLint Config
@vue-vine/nuxt Nuxt Module
vue-vine-tsc TypeScript CLI checker
create-vue-vine Project starter CLI

Install

bash
# If you didn't install `@antfu/ni` yet, I highly recommend you to install it.
ni vue-vine

Vite plugin

Use the plugin in vite.config.ts:

typescript
import { VineVitePlugin } from 'vue-vine/vite'

export default defineConfig({
  plugins: [
    // ...Other plugins
    VineVitePlugin()
  ],
})

Rsbuild plugin

Use the plugin in rsbuild.config.ts:

typescript
import { defineConfig } from '@rsbuild/core'
import { pluginVueVine } from 'vue-vine/rsbuild'

export default defineConfig({
  plugins: [
    pluginVueVine({
      // Optional compiler options
      // compilerOptions: { ... }
    })
  ],
})

The Rsbuild plugin provides a simpler, higher-level integration. It automatically:

  • Configures the necessary loaders for .vine.ts files
  • Sets up style processing rules
  • Injects Vue runtime flags via DefinePlugin

For advanced users who need fine-grained control over loader configuration, please refer to the Rspack loader documentation.

TypeScript Configuration

Please add macro's type definition in tsconfig.json:

json
{
  "compilerOptions": {
    "types": ["vue-vine/macros"]
  }
}

For ESLint, install our custom ESLint config:

bash
ni -D @vue-vine/eslint-config

You need to load the config into your flat configs.

javascript
import antfu from '@antfu/eslint-config'

// `VueVine()` returns an ESLint flat config
import VueVine from '@vue-vine/eslint-config'

export default antfu(
  {
    // First option is not Linter.FlatConfig,
    // it's a setting for antfu's config itself
  },
  ...VueVine(),
)

Finally, install the VSCode extension, search Vue Vine in the marketplace.

Issues· 5 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言