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

廉政建设网站wordpress标签云页面

廉政建设网站,wordpress标签云页面,企业网站建设联系电话,网站设计总结与心得体会文章目录 前言定义项目页面格式一、vite 配置动态路由新建 /router/utils.ts引入 /router/utils.ts 二、webpack 配置动态路由总结如有启发,可点赞收藏哟~ 前言 项目中动态配置路由可以减少路由配置时间,并可减少配置路由出现的一些奇奇怪怪的问题 路由…

文章目录

  • 前言
  • 定义项目页面格式
  • 一、vite 配置动态路由
    • 新建 `/router/utils.ts`
    • 引入 `/router/utils.ts`
  • 二、webpack 配置动态路由
  • 总结
    • `如有启发,可点赞收藏哟~`


前言

项目中动态配置路由可以减少路由配置时间,并可减少配置路由出现的一些奇奇怪怪的问题
路由配置化可统一定义相关属性等
本文记录vitewebppack两种构建工具配置动态路由,


定义项目页面格式

页面定义最好同时定义对应的titlename

  • 以views目录的page-template为例

在这里插入图片描述

  • page-template/index.ts文件
import { defineComponent, h, defineAsyncComponent } from 'vue';const PageComponent = defineAsyncComponent(() => import('./components/index.vue'));export default defineComponent({// 配置后可在 动态获取路由配置中设置对应值title: '页面模版',name: 'PageTemplate',setup() {return () => h(PageComponent);},
});
  • page-template/components/index.ts文件
import { defineComponent } from 'vue'
export default defineComponent({setup() {return {};},
});
  • page-template/components/index.vue文件
<script lang="ts" src="./index.ts" /><template><div>template</div>
</template><style scoped lang="less"></style>

一、vite 配置动态路由

vite使用import.meta.glob动态获取文件

新建 /router/utils.ts

/*** 路由配置文件*/import { DEFAULT_DOCUMENT_TITLE } from '@/const/base';
import type { RouteRecordRaw } from 'vue-router';function getComponent() {return import.meta.glob('../views/**/index.ts', { eager: true });
}// 获取路由文件
export const vueRouters = (): RouteRecordRaw[] => {const routerList: RouteRecordRaw[] = [];const files = getComponent();Object.keys(files).forEach((fileSrc: string) => {const component = files[fileSrc] as any;const componentPath = fileSrc.replace(/^\.\//, '');const routerPath = componentPath.replace('../views', '').replace(/\/index.ts$/, '');if (!componentPath.includes('components')) {routerList.push({path: routerPath,name: component.default.name,component: () => import(/* @vite-ignore */componentPath),meta: {title: component.default.title || DEFAULT_DOCUMENT_TITLE,// skeleton: component.skeleton, // TODO 待处理页面骨架屏// background: component.backgroundColor, // TODO 待处理页面级别颜色},});}});return routerList;
};

引入 /router/utils.ts

/router/index.ts

import { createRouter, createWebHistory } from "vue-router";
import HomeView from "@/views/layout/index";
import { vueRouters } from "./utils";const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [......vueRouters()],
});
export default router;

在这里插入图片描述

二、webpack 配置动态路由

webpack使用require.context获取文件路径

  • /router/utils.ts
/*** 路由配置文件*/import { DEFAULT_DOCUMENT_TITLE } from '@/const/base';
import type { RouteRecordRaw } from 'vue-router';function getComponent() {return require.context('../views', true, /\.ts$/);
}// 获取路由文件
export const vueRouters = (): RouteRecordRaw[] => {const routerList: RouteRecordRaw[] = [];const requireRouters = getComponent();requireRouters.keys().forEach((fileSrc: string) => {const viewSrc = requireRouters(fileSrc);const component = viewSrc.default;const componentPath = fileSrc.replace(/^\.\//, '');const routerPath = componentPath.replace(/(\S+)index.ts$/, '/$1index.html');if (component.name !== 'Home' && !component.isOffLine) {routerList.push({path: routerPath,name: component.name,component: () => import(`@/views/${componentPath}`),meta: {title: component.title || DEFAULT_DOCUMENT_TITLE,},});}});return routerList;
};export default vueRouters();

使用同vite


总结

vite 和 webpack 不同于获取文件格式,获取后的操作基本一致

如有启发,可点赞收藏哟~

http://www.yayakq.cn/news/947438/

相关文章:

  • qq空间网站根目录雅安北京网站建设
  • 成都网站建设 好多科技如何做电视剧的短视频网站
  • 黑群晖建设个人网站男子公众号下单做防水补漏
  • 网站服务器时间查询工具网站建设类织梦模板
  • 全球购物网站排名网站开发阶段流程
  • 商务网站设计制作好的工具和方法wordpress08教程
  • 免费建站网页编辑器中文版
  • 网站上的3d产品展示怎么做wordpress中文二次元
  • 建设工程中标通知书查询网站广州品牌策划公司有哪些
  • 静态网站建设参考文献装潢设计主要学什么
  • 中国建设工程造价协会网站手机网页打不开怎么办
  • 营销网站建设方案网页美工实训心得
  • 网站设计的趋势设立网站
  • 做网站判多少年wordpress通用型大气简洁企业主题
  • 建设银行网站能买手机西宁网站建设平台公司
  • 做网站app要多少钱免费微信微网站模板下载
  • 品牌网站建设设计公司网络营销工程师有用吗
  • 建设农场网站网站未建设的情况说明
  • 做网站首页需要什么资料漳州住房和城乡建设部网站
  • 郑州网站推广公司价格房地产开发公司资质等级
  • 南京专业网站制作公司有哪些贵州省城乡住房和建设厅网站首页
  • 北京做网站推广驻马店 网站制作
  • 推广运营公司网站东道设计厉害吗
  • phpcms网站怎么在网站做自己的产品广告
  • 工程公司网站建设wordpress的ping
  • 网站开发挣不挣钱做网站绿标
  • 深圳网站建设专业的公司工业信息化部网站备案查询
  • wordpress 回收站网页美工设计培训班
  • 从您的角度来看_对于农产品网站的建设有什么想法或建议呢?广州腾虎网络网站建设熊掌号
  • 孝感网站建设 付款方式 银行网站建设开发服务费