首页 > 其他分享 >vue3路由简单配置

vue3路由简单配置

时间:2022-09-23 17:11:47浏览次数:51  
标签:account const 配置 component vue3 routes import path 路由

路由目录

各文件内容

【router/index】

import { createRouter, createWebHashHistory, createWebHistory} from "vue-router";
import { scrollBehavior } from "./helpers/scroll";
import routes from "./routes"

const routerConfig={
    history : process.env.VUE_APP_ROUTER_MODE === "hash" ? createWebHashHistory() : createWebHistory(),  //路由模式,hash、history
    routes,
    scrollBehavior,
}

const setRouter = (app) => {
    app.use(createRouter(routerConfig));
};

export default {
    setRouter,
};

【router/helper/scroll.js】

export const scrollBehavior = (to, from, scrollPosition) =>{
    if (scrollPosition && to.meta.keepAlive) {
        //返回缓存页面后记录浏览位置
        return scrollPosition;
    }
    return { left: 0, top: 0 };
}

【router/routes/account.js】

const routes = [
    {
        path: "/account",
        component: ()=>import("@/layouts/blank-view"),
        children: [
            {
                path: "/account/login",
                name: "Login",
                component: ()=>import("@/views/account/login"),
                meta: {
                    title: "登录",
                },
            },
            {
                path: "/account/register",
                name: "Register",
                component: ()=>import("@/views/account/register"),
                meta: {
                    title: "注册",
                },
            },
        ]
    }
];

export default routes;

【router/routes/index.js】


//引入各模块路由分支
import AccountRoute from "./account"; //账户
import OtherRoute from "./other"; //其他

const routes = [
    {
        path: "/",
        component: ()=>import("@/layouts/basic-view"),
        children: [
            {
                path: "/",
                name: "Home",
                component: ()=>import("@/views/home/home"),
                meta: {
                    title: "首页",
                },
            },
        ],
    },
    ...AccountRoute,
    ...OtherRoute,
    {
        path: "/:pathMatch(.*)",
        name: "NotFound",
        component: ()=>import("@/views/home/not-found"),
        meta: {
            title: "页面不存在",
        },
    },
];

export default routes;

【main.js】

import { createApp } from "vue";
import App from "./App.vue";
import routerConfig from "@/router/index";

const app = createApp(App); //创建vue实例

async function setupApp() {
    /* 路由 */
    routerConfig.setRouter(app)
    app.mount("#app");
}

setupApp();

标签:account,const,配置,component,vue3,routes,import,path,路由
From: https://www.cnblogs.com/huihuihero/p/16723410.html

相关文章

  • 【vue3】reactive不能直接赋值的解决方法
    在vue3里,ref和reacitve都可以定义响应式数据,但是两者有所不同。在使用reactive定义复杂结构的响应式数据时,如果你要对其赋值,会丢失其响应性。然后赋值是我们经常进行的操作......
  • centos部署Django三:编写相关配置文件及启动服务
     1.进入到项目的根目录,编写uwsgi.xml配置文件*:centos用的不是uwsgi.ini,而是uwsgi.xml<uwsgi><socket>127.0.0.1:8997</socket><!--内部端口,自定义......
  • vue3配置全局过滤器
    vue3配置全局过滤器需要在main.js中配置一下代码//vue3配置全局过滤器app.config.globalProperties.$filters={//formatTime过滤器的名称formatTime(value:s......
  • vue3源码学习12-编译three-生成代码
    之前两节看了模板生成AST和AST内部转化,这一节看最后的生成代码,编译配置是mode为module,prefixIdentifiers开启,hoistStatic开启,其他配置均不开启,先看示例:源代码:<divclass=......
  • Linux安装nacos并配置开机启动
    一、Nacos的安装、启动1、解压tar-zxvfnacos-server-1.4.1.tar.gz-C/usr/local注意:nacos的启动需要java的jdk环境支持才能成功运行。启动、开机自启3.启动和关闭......
  • java使用ClassLoader加载配置文件(properties)
    importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.InputStream;importjava.util.Properties;publiccl......
  • 实验环境安装配置
    实验环境安装配置一、实验目的熟悉实验环境熟悉Linux基本操作二、实验要求(一)任务请根据实验环境安装文档,完成特定开源软件的安装......
  • Visual Studio发布到IIS及Web Deploy配置部署
    1、官方教程https://learn.microsoft.com/zh-cn/visualstudio/deployment/tutorial-import-publish-settings-iis?view=vs-20222、错误排查如果是请求不通,请检测IP端口......
  • 静态路由添加: 地址 0 跳 2 出现故障;终端先卡死后瘫痪,虚拟机操作不受影响
    ───────────────────────────────────────────────────────────────────────────────......
  • S32K148-lptmr配置
    S32K148自带的定时器,配置非常简单,有时候我会用它做任务周期,配置一个1ms定时器中断一次  初始化函数:voidLPTMR_init(void){LPTMR_DRV_Init(INST_LPTMR1,&lpT......