【vite】vite项目自动识别指定文件目录生成路由

安装vite-plugin-pages

我用的版本("vite-plugin-pages": "^0.27.1")

pnpm i vite-plugin-pages

配置

//vite.config.ts
import { fileURLToPath, URL } from "node:url";

import { defineConfig } from "vite";

import Pages from "vite-plugin-pages";
import vue from "@vitejs/plugin-vue";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    Pages({
      dirs: "./src/views",//指定生成路由的目录
      extensions: ["vue"],//文件后缀
      exclude: ["**/src/*.vue"],//可以排除指定目录
    }),
  ],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
});
//router.ts
import { createRouter, createWebHistory } from "vue-router";

// @ts-ignore
import routes from "~pages";
console.log(routes);

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: "/",
      name: "home",
      redirect: { name: routes[0].name },
      children: [...routes],
    },
  ],
});

export default router;

效果:

路由传参写法

生成的路由长这样:

{name: 'test-id', path: '/test/:id', props: true, component: ƒ}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vite打包Vue项目时,我们可以通过读取外部配置文件来实现灵活配置域名。 首先,我们可以在项目的根目录下创建一个外部配置文件,例如config.js。在该文件中,我们可以定义一个变量来存储域名配置信息,例如: ```javascript // config.js export const apiDomain = 'http://api.example.com'; ``` 然后,在项目的入口文件(例如main.js)中,我们可以通过导入外部配置文件来获取域名配置,例如: ```javascript // main.js import { apiDomain } from './config'; // 使用apiDomain作为接口域名配置 ... ``` 这样,我们就可以将域名配置信息定义在外部配置文件中,并在项目中通过导入来灵活地使用。当我们需要修改域名时,只需修改外部配置文件中的配置,而不需要修改项目代码本身。 但是需要注意的是,当使用Vite打包项目时,默认情况下会将import的外部文件打包到最终的构建结果中。如果我们想要使得外部配置文件可以被动态加载,可以使用Vite提供的动态导入方式。例如: ```javascript // main.js const { apiDomain } = await import('./config'); // 使用apiDomain作为接口域名配置 ... ``` 这样配置文件将会作为一个单独的模块,动态加载到项目中,实现了通过外部配置文件灵活配置域名的目的。 综上所述,通过在Vite打包Vue项目中读取外部配置文件,我们可以灵活配置域名。我们可以将域名配置信息定义在外部文件中,并通过动态导入的方式,使得配置文件可以灵活被加载。这种方式在需求变化较频繁的项目中尤为有用,将配置与代码分离,使得系统更加灵活和可维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值