vue3多页面配置踩坑

news2025/2/28 5:16:10

vue3实现多页面打包容易,关键是如何实现本地的开发和调试?我们接下来解决如下几个问题:

1 多页面项目的项目结构是怎样的?

--public

--src
   ---App.vue
   ---main.js
   ---page1. +
        ---App.vue
        ---main.js
        ----home.vue
        ----list.vue
   ---page2. +
        ---App.vue
        ---main.js
        ----home.vue
        ----list.vue
vite.config.js
package.json
page1.html. +
page2.html. +

这是我们配置的最原始的一个结构,如图,带+的是新增的文件(文件夹)特别注意新增的page1.html和page2.html,这两个模版文件是一定不能忘记的。同时要注意script中引用main.js文件路径的修改,如图

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + Vue</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/page2/main.js"></script>
  </body>
</html>

但是仅仅只是这样还是不够的,我们要打包成不同的项目,那需要在对vite.config.js做一些更改

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import {resolve} from "path"
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server:{
    hmr:true
  },
  build:{
    rollupOptions:{
      input:{
        index:resolve(__dirname,'index.html'),
        page1:resolve(__dirname,"/page1.html"),
        page2:resolve(__dirname,"/page2.html")
      },
      output:{
        chunkFileNames:"js/[name]-[hash].js",
        assetFileNames:"[ext]/[name]-[hash].[ext]"
      }
    }
  }
})

我们需要对rollipOption选项的input和output做多入口和出口的设置。到这一步。我们 打包以后就可以正常生成对应的文件了。我们看一看结果:

 同时我们通过http://localhost:5173/page1.html就能正常访问page1,和page2了,展示的内容分别是page1项目和page2项目的app.vue的内容。但是我们的page1和page2项目可不止一个app.vue,我们要通过路由配置不同的路由访问不同的页面。接下来我们需要配置来看路由了,不过在此之前我们要先改造下我们的项目目录结构

仔细观察。我们在page1和page2这两个项目下分别新增了一个views文件夹,用来存放页面,同时新增了一个home和list页面,用来测试。然后我们再新增我们的路由文件,注意 路径和组件的引用

//src下新建router文件夹
//main.js 主入口的main.js
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from "./router/index". +
createApp(App).use(router).mount('#app')


--------router.js----------------

    import { createRouter, createWebHistory ,createWebHashHistory} from 'vue-router'

    const router = createRouter({
        history: import.meta.env.DEV ? createWebHashHistory() : createWebHistory(),
        routes: [
            {
                path: '/',
                name: 'home',
                component: ()=>import("../pages/home.vue")
            },
            {
                path: '/list',
                name: 'list',
                component: ()=>import("../pages/list.vue")
            },
            {   
                path: '/page1/home',
                name: 'page1Home',
                component: ()=>import("../page1/views/home.vue")
            },
            {   
                path: '/page1/list',
                name: 'page1List',
                component: ()=>import("../page1/views/list.vue")
            },
            {   
                path: '/page2/home',
                name: 'page2Home',
                component: ()=>import("../page2/views/home.vue")
            },
            {   
                path: '/page2/list',
                name: 'page2List',
                component: ()=>import("../page2/views/list.vue")
            }

          
        ]
    })

    export default router


到此为止。我们通过页面访问page1下的home,则只需要输入地址http://localhost:5173/#/page1/home这样我们就能正常访问了。如下图:

其他的多页面地址访问同理 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/862388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

申请TikTok海外直播公会的具体流程

截止目前&#xff0c;TikTok的主用户群已经从除中国用户外的亚洲用户群&#xff0c;逐步转变成了以英美欧洲为主体的西方用户群体。TikTok先后在40多个国家的应用商店内排名前列&#xff0c;成为了全球增速最快的短视频APP。接下来的这篇文章就是关于抖音tiktok海外公会申请cmx…

谷器数据:以“数字化+标准化”推动中小企业高质量发展

近日&#xff0c;2023全国专精特新中小企业发展大会在浙江杭州举行。据悉&#xff0c;截至目前&#xff0c;我国已累计培育专精特新“小巨人”企业1.2万余家&#xff0c;专精特新中小企业超9.8万家&#xff0c;创新型中小企业达21.5万家。其中&#xff0c;1.2万家小巨人企业中&…

DETR模型计算量(FLOPs)参数量(Params)

前言 关于计算量(FLOPs)参数量(Params)的一个直观理解&#xff0c;便是计算量对应时间复杂度&#xff0c;参数量对应空间复杂度&#xff0c;即计算量要看网络执行时间的长短&#xff0c;参数量要看占用显存的量。 计算量&#xff1a; FLOPs&#xff0c;FLOP时指浮点运算次数&a…

云端剪切板,让你的数据同步无界

云端剪切板&#xff0c;让你的数据同步无界&#xff01; 每个人都应该保护自己的数据&#xff0c;同时使它易于访问和共享。这就是我们的云剪切板网站诞生的原因&#xff01;无论你在哪里&#xff0c;只要登录我们的网站&#xff0c;就可以随时随地使用你的剪切板数据。 你可…

从支付或退款之回调处理的设计,看一看抽象类的使用场景

一、背景 抽象类&#xff0c;包含抽象方法和实例方法&#xff0c;抽象方法待继承类去实例化&#xff0c;正是利用该特性&#xff0c;以满足不同支付渠道的差异化需求。 我们在做多渠道支付的时候&#xff0c;接收支付或退款的回调报文&#xff0c;然后去处理。这就意味着&…

对话音视频牛哥:如何设计功能齐全的跨平台低延迟RTMP播放器

开发背景 2015年&#xff0c;我们在做移动单兵应急指挥项目的时候&#xff0c;推送端采用了RTMP方案&#xff0c;这在当时算是介入RTMP比较早的了&#xff0c;RTMP推送模块做好以后&#xff0c;我们找了市面上VLC还有Vitamio&#xff0c;来测试整体延迟&#xff0c;实际效果真…

大数据传输的定义与大数据传输解决方案的选择

当我们需要处理大量的数据时&#xff0c;我们就要把数据从一个地方移动到另一个地方。这个过程就叫做大数据传输。它通常需要用到高速的网络连接、分散的存储系统和数据传输协议&#xff0c;以保证数据的快速、可靠和安全的移动。常用的大数据传输技术有Hadoop分布式文件系统&a…

servlet三大类HttpSevlet,HttpServletRequest,HttpServletResponse介绍

一、HttpServlet HttpServlet类是一个被继承的方法&#xff0c;可以看做一个专门用来响应http请求的类&#xff0c;这个类的所有方法都是为响应http请求服务的&#xff0c;要对一个某个路径谁知http响应时&#xff0c;需要写一个类来继承HttpServlet类&#xff0c;并重写里面的…

BGP基础建邻+宣告实验

实验要求及拓扑 一、实验思路 1.编写静态路由使R1、R2之间可通和使R4、R5之间可通。 2.使用OSPF使R2、R3、R4之间可通。 3.各自宣告AS区域&#xff0c;中间区域两两之间建邻。 4.注意建邻所使用的端口&#xff0c;外部BGP邻居关系和内部BGP邻居关系的区别。 二、上虚拟机操…

企业微信web登录(扫二维码登录)

记录一下企业微信web扫码登录的使用过程。 按惯例&#xff0c;先看登录流程&#xff1a; 步骤 首先&#xff0c; 企业微信后台开启“企业微信授权登陆功能”&#xff0c;“设置授权回调域名” ,授权回调域名必须与访问链接的域名完全一致。&#xff08;访问链接的域名就是扫码…

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…

高忆管理:创业板股票涨跌幅?

创业板股票涨跌幅限制大于主板商场&#xff0c;为何呈现这样的现象&#xff1f;从多个角度剖析&#xff0c;其中包含方针因素、商场走势、职业危险等多个方面。 首要&#xff0c;方针因素是导致股票涨跌幅波动的一个重要因素。在新的方针环境下&#xff0c;相关部门关于创业板股…

ModaHub魔搭社区——Milvus Cloud向量数据库

向量数据库:在AI时代的快速发展与应用 摘要: 随着人工智能技术的不断进步,向量数据库在处理大规模数据方面发挥着越来越重要的作用。本文介绍了向量数据库的基本概念、应用场景和技术挑战,并详细阐述了Milvus Cloud作为典型的向量数据库产品的技术特点、性能优化和应用案例…

拼多多秋招 考试内容详解和备考技巧

拼多多秋招内容简介 作为线上销售行业的知名企业之一&#xff0c;拼多多的销售模式也得到了越来越多的人认可&#xff0c;而伴随着企业规模的不断扩大&#xff0c;拼多多也需要能力杰出、认可自己公司文化的新员工&#xff0c;从目前的招聘情况来看&#xff0c;拼多多的岗位需…

拿下美团校招:MySQL InnoDB非聚簇索引知识点解析!

大家好&#xff0c;我是你们的小米&#xff0c;在这里欢迎大家来到《小米的技术小屋》&#xff01;今天&#xff0c;我将和大家一起来揭开一个有趣且有深度的话题&#xff0c;那就是来自美团校招面试的一道问题&#xff1a;“MySQL中的InnoDB在什么情况下使用非聚簇索引&#x…

SpringBoot禁用Swagger3

Swagger3默认是启用的&#xff0c;即引入包就启用。 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> <dependency><groupId…

纤维素衍生物辅料行业分析-市场规模达15.67亿美元

纤维素衍生物辅料行业分析&#xff1a;2022年全球纤维素合成生物辅料市场规模达15.67亿美元 关注医药行业的纤维素衍生物辅料。药用辅料是生产药品和调配处方时所用的赋形剂和附加剂&#xff0c;是药物制剂的重要组成部分。纤维素衍生物作为天然高分子衍生材料&#xff0c;具有…

Uniapp使用腾讯地图并进行标点创建和设置保姆教程

使用Uniapp内置地图 首先我们需要创建一个uniapp项目 首先我们需要创建一个uniapp项目 我们在HBuilder左上角点击文件新建创建一个项目 然后下面这张图的话就是uniapp创建项目过程当中需要注意的一些点和具体的操作 然后我们创建完项目之后进入到项目pages文件夹下&#xff…

面试热题(二叉树的锯齿形层次遍历)

给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3…

Spring @Profile注解使用和源码解析

使用 带有Profile的注解的bean的不会被注册进IOC容器&#xff0c;需要为其设置环境变量激活&#xff0c;才能注册进IOC容器&#xff0c;如下通过setActiveProfiles设置了dev值&#xff0c;那么这三个值所对应的Bean会被注册进IOC容器。当然&#xff0c;我们在实际使用中&#…