blog/source/_posts/vite.md

131 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2022-03-30 01:52:49 +08:00
---
title: Vite新建vue项目模板自用
date: 2022-03-15 00:00:00
tags:
- 前端
- 编程
- vue
- vite
category: 技术
---
# 初始化
## 创建项目
```shell
yarn create vite
cd ./module-name
yarn
```
## 引入常用依赖
### 功能
```shell
yarn add -S vue-router
```
### 界面
```shell
yarn add -D naive-ui
```
### 插件
```shell
yarn add -D unplugin-vue-components
yarn add -D unplugin-auto-import
yarn add -D @types/node
```
# 配置
## vite.config.ts
```typescript
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import AutoImport from 'unplugin-auto-import/vite'
import { resolve } from 'path'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
Components({
resolvers: [NaiveUiResolver()]
}),
AutoImport({
imports: ['vue', 'vue-router',]
})
],
resolve: {
// 配置路径别名
alias: {
'@': resolve('./src'),
},
},
})
```
## tsconfig.json
```json
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
```
## router.ts
```typescript
import { createRouter, createWebHistory } from "vue-router";
const routes = [
{
path: '/',
name: 'index',
component: () => import('@/components/Index.vue')
}
]
const router = createRouter({
routes,
history: createWebHistory()
})
export default router
```
## main.ts
```typescript
import { createApp } from 'vue'
import App from './App.vue'
import router from '@/modules/router'
const app = createApp(App)
app.use(router)
app.mount('#app')
```