vite创建vue3+elementPlus项目操作步骤

avatar
作者
筋斗云
阅读量:0

vite创建vue3项目操作步骤

第一步:创建项目

   npm create vite@latest my-vue-app -- --template vue    npm install 安装项目依赖    npm run dev启动Vue3项目 

第二步:安装vue-router路由

   官网:https://router.vuejs.org/zh/    npm install vue-router@4 

第三步:配置路径别名

打开vite.config.js配置文件,配置代码方法如下: //导入path模块 import path from 'path' export default defineConfig({   //设置文件路径别名   resolve:{     alias:{       "@":path.resolve(__dirname,"src")     }   },   plugins: [vue()], }) 

第四步:捕获404路由

const routes = [        //捕获404路由     {         path: '/:pathMatch(.*)*',         name: 'NotFound',         component:()=>import('@/views/404.vue')     } ] 

第五步:引用elementPlus

官网:https://element-plus.gitee.io/zh-CN/ 安装: npm install element-plus --save 

第六步:使用 vuex仓库

npm install vuex@next --save 

第七步:设置全局路由守卫

//全局前置路由守卫 router.beforeEach(async (to, from, next) => {     nProgress.start()     //获取token     const tokenStr = window.sessionStorage.getItem('token')     //如果未登录跳转到登录页面     if (!tokenStr && to.path !== '/login') return next('/login')     //如果已登录避免重复登录     if (tokenStr && to.path == '/login') {         return next({ path: from.path ? from.path : '/' })     }     let hasNewRoutes = false     //如果用户登录成功,调用Vuex方法,存储用户信息     if (tokenStr && !isgetInfo) {         const res = await store.dispatch('getUserInfo')         isgetInfo = true         //动态添加路由         //hasNewRoutes = addRoutes(res.data.menus)     }     //手动指定路由     //如果确实有新路由加入手动指定路由,否则直接放行     hasNewRoutes ? next(to.fullPath) : next()     //next() })   //全局后置路由守卫 router.afterEach((to, from,) => {     nProgress.done() }) 

第八步:安装axios 并重新封装

//安装 axios  npm install axios --save   //导入axios import axios from 'axios' //创建axios实例对象 const instance = axios.create({     //设置项目基准地址     baseURL: '/api',     //设置请求超时时间为5秒钟     //timeout:5000 }) //设置请求拦截器 instance.interceptors.request.use(config => {     const token = window.sessionStorage.getItem('token')     if (token) {         config.headers['token'] = token     }     return config }) //设置响应拦截器 instance.interceptors.response.use(response => {     return response.data }, err => {     return err.response.data }) export default instance 

补充:

style样式添加less与scoped  安装less  npm install less less-loader --save-dev  <style lang='less' scoped></style>  ********************************************** Setup语法糖  <template>     <button @click="log">{{ msg }}</button> </template>  <script setup> const msg = 'Hello World' const log = () => {     console.log(msg) } </script> ********************************************** //安装图标 npm install @element-plus/icons-vue //element图标 import * as ElementPlusIconsVue from '@element-plus/icons-vue' //注册element图标 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {     app.component(key, component) } ********************************************** loading进度条  安装nprogress第三方模块  **********************************************  vueUse工具库 安装 npm i @vueuse/core  使用: //全屏方法 import { useFullscreen } from '@vueuse/core’ const { toggle } = useFullscreen()   

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!