131 lines
1.7 KiB
Markdown
131 lines
1.7 KiB
Markdown
|
---
|
|||
|
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')
|
|||
|
|
|||
|
```
|
|||
|
|