This template should help get you started developing with Vue 3 and Typescript in Vite.
The template uses Vue 3 <script setup>
SFCs, check out the script setup docs to learn more.
Includes vue-router and Pinia 1.
In addition, ESLint, Stylelint, and Prettier are also included and are set to be executed automatically at runtime and commit. (Since these settings are set strictly, please relax yourself.)
Also, when the development server is executed, it is checked in real time by vite-plugin-checker.
First define VITE_APP_TITLE
in your .env
file.
VSCode + Volar (and disable Vetur).
And use Volar Takeover Mode for better performance.
It is designed to be close to create-vue commands.
Command | Description |
---|---|
dev | Start devserver. |
clean | Clear devserver cache. |
type-check | Check vue markup. |
lint | Run ESLint and prettier. |
lint:style | Run Stylelint. |
test | Run vitest |
test:unit | Run Unit test |
coverage | Output Coverage Report. |
build | Build for production. |
build:analyze | Execute Bundle Analyzer |
build:clean | Clear production build files. |
build-only | Build for production without checking. For Deploy use. |
preview | Run the program generated by the production build. |
Since TypeScript cannot handle type information for .vue
imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in .vue
imports (for example to get props validation when using manual h(...)
calls), you can enable Volar's .vue
type support plugin by running Volar: Switch TS Plugin on/off
from VSCode command palette.
When adding or deleting files, an error may occur and even if the error is corrected, it may not be reflected in devserver. In that case, stop devserver and delete all the files in the node_modules/.vite
directory. You can also run it with the clean
command.
It will not work properly if you are using Node v21.0.0. Please upgrade to 21.1.0 or later.
Due to yarn issues, it may not work properly if the path contains non-ASCII characters (such as 日本語 or 한국어, 中文 etc.).
Since unplugin is used, an error will always occur at the first execution. Press a
on the console and try again.
When you use this template, try follow the checklist to update your info properly
- Change the author name in
LICENSE
- Change the favicon in
public
- Remove the
.github
folder which contains the funding info - Clean up the READMEs and remove routes
- for Vue3
- vite-vue3-ts-starter - Vite Vue3 starter.
- vite-vuetify-ts-starter - With Vuetify3
- vite-bootstrap-vue-ts-starter - Comming soon.
- for Vue2
- vite-vue2-ts-starter - Vite Vue2 starter.
- vite-vue2-vuetify-ts-starter - UI library using Vuetify2
- laravel9-vite-vue2-starter - Vue2 for Laravel9 + Breeze.
- vite-vue2-ts-ssr-starter - SSR (Server Side Rendering) Version.
Footnotes
-
Pinia is the recommended state management library to replace Vuex in the next Vue. see https://github.com/vuejs/rfcs/discussions/270#discussioncomment-2066856 ↩