当前位置: 首页 > news >正文

嘉兴英文网站建设深圳营销型网站开发

嘉兴英文网站建设,深圳营销型网站开发,网站 用户登陆 模板,中国建设银行网站官网第一种 如果这样子的话需要加上 /* vite-ignore / ,但是在这样用这行部署服务器上跳转会有问题 component: () > import(/ vite-ignore */ ../views/ e.component .vue) 第二种 // 解决跳转问题const modeules imporet.meta.glob(/views/**/**.vue)component: modules…

第一种

如果这样子的话需要加上 /* @vite-ignore / ,但是在这样用这行部署服务器上跳转会有问题

component: () => import(/ @vite-ignore */ '../views/' + e.component + '.vue')

第二种

  // 解决跳转问题const modeules = imporet.meta.glob('@/views/**/**.vue')component: modules['../views/' + e.component +'.vue']

其实这是vite的原因导致的,他在编译的是没有处理这种情况所以报错

完整代码

addRoute.ts

const pages = import.meta.glob('@/views/**/**.vue')import router from '@/router/index'
import type { RouteRecord } from 'vue-router'export interface LoginInfo {id?: Number,title: String,icon: String,path?: String,name: String,component: String,children?: [],
}export function addRoute(list: any[]) {list.forEach((menu: { children: any[] }) => {if (menu.children) {menu.children.forEach((e: any) => {if (!e.component) {return}router.addRoute('index', {name: e.name,path: e.path,meta: {icon: e.icon,title: e.title,fatherTitle: menu.title,fatherPath: menu.children[0].path,dynamic: true},component: pages['/src/views/' + e.component + '.vue']})if (e.children.length) {addRoute(e.children)}})}})// console.log(router.getRoutes());}export function removeRoute() {router.getRoutes().forEach((v: RouteRecord) => {if (v.meta.dynamic) {router.removeRoute(v.name as string)}})
}

menus.ts

// @src/store/menus.ts
import { defineStore } from 'pinia'
import { ref } from 'vue';
import { addRoute } from './addRoute'
import { routes } from '@/router/index'
import { getMenuList } from "@/api/login"interface AddRoute {id?: Number,title: String,icon: String,path?: String,name: String,component: String,children?: [],
}export const useMeanStore = defineStore('mean', () => {// 菜单数据const menuList = ref([] as AddRoute[])// 权限数据const permList = ref([])// 是否有路由const hasRoute = ref(false)// 改变路由状态function changeRouteStatus(state: any) {hasRoute.value = statesessionStorage.setItem("hasRoute", state)}// 设置菜单数据function setMenuList(menus: any) {let addRouterList = routes.filter(route => !route?.meta?.notDetect)menuList.value = [...addRouterList, ...menus]// 生成动态路由addRoute(menus)}// 获取菜单function getMenu() {return getMenuList().then((res: any) => {setMenuList(res.data.nav);setPermList(res.data.authoritys)})}// 设置权限数据function setPermList(authoritys: any) {permList.value = authoritys}return {menuList,permList,hasRoute,changeRouteStatus,setMenuList,setPermList,getMenu}
})

user.ts

// @src/store/user.ts
import { defineStore } from 'pinia'
import { logout } from '@/api/login'
import { ref } from 'vue';export const useUserStore = defineStore('user',() => {const token = ref("")const userInfo = ref({})function SET_TOKEN(name: string) {token.value = namelocalStorage.setItem("token", name)}function SET_INFO(user: any) {userInfo.value = user}async function remove() {await logout()localStorage.clear()sessionStorage.clear()location.reload()SET_INFO({})}return {persist: true,token,userInfo,remove,SET_TOKEN,SET_INFO}}
)

index.ts

import { useMeanStore } from './menus'
import { useUserStore } from './user'export { useUserStore, useMeanStore }

router.ts

import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
import Layout from '@/components/Layouts/index.vue'import { useMeanStore } from '@/stores/routes/menus'import NProgress from 'nprogress'
import '/node_modules/nprogress/nprogress.css'
NProgress.configure({ showSpinner: true })export const routes = [{path: '/login',name: 'login',component: () => import('@/views/login/login.vue'),meta: {notDetect: true}},{path: '/404',name: 'NotFound',component: () => import('@/views/404/error.vue'),meta: {title: 'Page not found',notDetect: true}},// 所有未定义路由,全部重定向到404页{path: '/:catchAll(.*)',redirect: '/404',meta: {title: 'Page not found',notDetect: true}},{path: '/',name: 'index',component: Layout,redirect: '/home',title: '首页',icon: 'home',children: [{path: '/home',name: 'home',title: '首页',icon: 'el-icon-s-home',component: () => import('@/views/home/index.vue'),children: [],}],},
]const router = createRouter({// 刷新时,滚动条位置还原scrollBehavior: () => ({ left: 0, top: 0 }),history: createWebHashHistory(import.meta.env.BASE_URL),// @ts-ignoreroutes
})router.beforeEach((to, from, next) => {NProgress.start()let token = localStorage.getItem("token")const useMean = useMeanStore()// console.log('hasRoute', useMean.hasRoute)if (to.meta.notDetect) {// 不需要检测的页面 直接放行next()} else if (!token) {// console.log("还没有token!!!")next({ path: "/login" })} else {// console.log("已经有路由了")next()}
})router.afterEach(() => {setTimeout(() => {NProgress.done()}, 300)
})
export default router

http://www.hkea.cn/news/190175/

相关文章:

  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站