vite搭建vue3项目

一、 创建vite项目

1.1 快速创建vite项目

npm create vite@latest
npm i 

1.2 分步创建vite项目

// 命令会生成package.json默认文件
npm init -y

//安装开发环境下vite的依赖
npm i vite -D

//安装vue的依赖
npm i vue

//安装开发环境下解析vite的插件@vitejs/plugin-vue
npm i @vitejs/plugin-vue -D
  • 配置vite.config.js文件

import {defineConfig} from "vite"
import Vue from  '@vitejs/plugin-vue'

export default defineConfig({
    plugins:[Vue()]
})
  • 新建App.vue文件
<template>
 hello
</template>
  • 新建main.js
import {createApp} from "vue"
import App from './App.vue'

const app = createApp(App);
app.mount('#app')
  • 新建index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app"></div>
    <script type="module" src="./src/main.js"></script>
</body>
</html>

1.3 环境变量配置

使用环境变量,是基于不同环境实现不同逻辑的,vite可以从更目录寻找.env.[mode] 文件加载额外的环境变量,这个的mode指development,production,text等

  • 这是一个环境变量的配置示例
# 本地环境
VITE_ENV = development
#标题
VITE_APP_TITLE = 西堂ERP
#接口地址
VITE_APP_API_BASEURL= http://127.0.0.1:8000/
#本地端口
VITE_APP_PORT=9000
# 是否开启代理
VITE_APP_PROXY= true
  • 环境变量在vite.config.js中的使用,可以配置指定端口,以及代理
import {defineConfig,loadEnv} from "vite"
import Vue from  '@vitejs/plugin-vue'
export default defineConfig(({command,mode})=>{
  
  const env = loadEnv(mode,process.cwd(),'')
  return {
    plugins:[
      Vue(),
    ],
    server:{
      host:'0.0.0.0',
      port:env.VITE_APP_PORT,
      proxy:{
        "api":{
          target:env.VITE_APP_API_BASEURL,
          changeOrigin:true,
          rewrite:(path)=>path.replace(/^\/api/,"")
        }
      }
    } 
  }
})

二、路由安装

2.1 安装插件

npm i vue-router -D

2.2 使用路由

  • App.vue修改
<template>
    <router-view></router-view>
</template>
  • main.js修改
import {createApp} from "vue"
import App from './App.vue'
import router  from "./router";

const app = createApp(App);
app.use(router)
app.mount('#app')
  • 创建router.js
import {createRouter,createWebHashHistory} from "vue-router"

const router = createRouter({
    routes:[
        {
            component:()=>import('../pages/print_setting.vue')
        },
        {
            path:'/print_setting',
            component:()=>import('../pages/print_setting.vue')
        }
    ],
    history:createWebHashHistory()
})

export default router

2.3 文件路由

每次新建页面都需要配置路由,繁琐且管理不便,我们映入自动路由插件vite-plugin-pages

npm i -D vite-plugin-pages
  • 在vite.config.js配置插件
import {defineConfig} from "vite"
import Vue from  '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import AutoImport from 'unplugin-auto-import/vite'
import Pages from 'vite-plugin-pages'

export default defineConfig({
    plugins:[
        Vue(),
        Pages({
          dirs:'pages',
          extensions: ['vue']
        }),
        AutoImport({import:['vue','vue-rouetr']}),
        Components({
          resolvers:[ElementPlusResolver()]
        })
    ]
})
  • 在router.js中使用插件
import {createRouter,createWebHashHistory} from "vue-router"
import routes from '~pages'

const router = createRouter({
    routes,
    history:createWebHashHistory()
})

export default router

三、按需加载组件插件安装

在页面中使用组件每次都需要import组件,unplugin-vue-components可以使页面不需要手动import组件,自动按需引入

npm i unplugin-vue-components -D
  • 修改vite.config.js,使用该插件,并加入element-plus解析器
import {defineconfig} from "vite"
import Vue from  '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components'

export default defineconfig({
    plugins:[Vue(),Components()]
})

组件的映入可以自动,当然vue等的引入也可以自动

npm i -D unplugin-auto-import
  • 重新配置vite.config.js,这里自动引入配置了vue和vue-rouetr的自动引入
import {defineConfig} from "vite"
import Vue from  '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import AutoImport from 'unplugin-auto-import/vite'

export default defineConfig({
    plugins:[Vue(),AutoImport({import:['vue','vue-rouetr']}),Components({
        resolvers:[ElementPlusResolver()]
    })]
})

四、安装element-plus插件

npm i element-plus -D
  • 修改vite.config.js 使自动解析能够解析elemt-plus引用
import {defineConfig} from "vite"
import Vue from  '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
    plugins:[Vue(),Components({
        resolvers:[ElementPlusResolver()]
    })]
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷啦啦诶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值