vue3-ts-vite:vue 项目 配置 多页面应用

news2024/11/27 2:20:45

一、Vue项目,什么是多页面应用

Vue是一种单页面应用程序(SPA)框架,这意味着Vue应用程序通常只有一个HTML页面,而在该页面上进行动态的内容更改,而不是每次都加载新的HTML页面。 

但是,有时候我们需要在同一应用程序中拥有多个独立的页面,每个页面都可以单独处理路由和逻辑。这就是多页面应用(MPA)的概念。在Vue中,实现多页面应用程序的方法是使用Vue的多入口特性,即通过配置多个入口文件来实现。

每个入口文件都有自己的路由配置、组件和其他相关资源。这些入口文件可以在构建时生成多个独立的HTML文件,每个HTML文件都有对应的JavaScript和CSS文件。这些文件可以独立部署和运行,使得应用程序能够更灵活地扩展和维护。

二、什么场景适合开发多页面应用程序

2.1、企业级应用程序:对于大型企业级应用程序,可能需要许多独立的功能模块,每个模块都有自己的独立需求和逻辑。使用多页面应用程序可以更好地组织和管理这些模块,使得每个模块的代码更加清晰和易于维护。

2.2、多语言站点:在多语言站点中,每个页面都需要独立处理语言切换和文本翻译。使用多页面应用程序可以更好地管理这些独立的页面,并且可以针对不同的语言生成不同的页面。

2.3、营销活动页面:在营销活动页面中,通常需要快速开发和部署大量的独立页面。使用多页面应用程序可以更好地组织和管理这些页面,使得开发人员可以更快速地开发和部署页面,而不用担心影响其他页面的问题。

2.4、大规模、独立和独立需求的应用程序,那么多页面应用程序是非常适合的选择。

三、创建vue-ts-vite项目

vue3:vue3+vite+ts+pinia_vue3+ts+vite+pinia_snow@li的博客-CSDN博客

四、代码实现 / vue3 ts vite 项目 配置多页面应用

4.1、本文目标实现配置三个(入口)页面的vue-ts-vite多页面应用

index.html
about.html
contact.html

4.2、vite.config.ts文件添加配置

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      // 配置多页面
      input: {
        index: './index.html',
        about: './about.html',
        contact: './contact.html',
      },
    },
  },
})

以上配置中,input对象用于指定多个入口文件,每个入口文件都应该对应于项目根目录下的一个HTML文件。

4.3、依据main.ts创建入口文件

创建 src/main-index.ts(main.ts重命名为main-index.ts)

创建  src/main-about.ts

创建  src/main-contact.ts

文件内容来自初始项目main.ts,均为如下内容:

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

createApp(App).mount('#app')

4.4、在每个HTML文件中,需要使用script标签引入每个页面的入口文件

4.4.1、index.html更新页面入口文件为main-index.ts,完整代码如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Index Page</title>
</head>
<body>
  <div id="app"></div>
  <script type="module" src="/src/main-index.ts"></script>
</body>
</html>

4.4.2、同理,about.html文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>About Page</title>
</head>
<body>
  <div id="app"></div>
  <script type="module" src="/src/main-about.ts"></script>
</body>
</html>

4.4.3、同理,contact.html文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Contact Page</title>
</head>
<body>
  <div id="app"></div>
  <script type="module" src="/src/main-contact.ts"></script>
</body>
</html>

4.5、运行项目

pnpm run dev

4.6、分别访问三个页面

4.6.1、访问index页面

4.6.2、访问about页面

4.6.3、访问contact页面

4.7、构建项目

pnpm run build

4.8、部署

构建完成后,每个页面的文件都会被打包到dist目录下,然后可以将这些文件部署到Web服务器上。

五、欢迎交流指正,关注我,一起学习

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

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

相关文章

C++动态内存管理 - new和delete

目录 开胃菜 - 浅析C/C的内存分段 内存分段 各段说明 new和delete的基础用法 深度剖析new 定位new 浅析delete malloc/free和new/delete的异同 开胃菜 - 浅析C/C的内存分段 这部分是计算机系统相关的知识&#xff0c;这里只是先浅谈一下&#xff0c;可能有些内容会有冲…

初学绘画就上手!7款AI绘图免费软件精选推荐!

本篇文章将分享7款个人非常喜爱的AI绘图免费软件&#xff0c;一起来看看吧。 即时灵感 即时灵感 " 是一款全新升级的 AI 绘画工具&#xff0c;为创作者们提供了丰富多样的创作体验和强大功能。这个创新工具旨在让创作过程更加简单、便捷&#xff0c;同时提供高质量的作品…

Jenkins+Nginx+vue

安装nodejs 在这里插入图片描述 echo off xcopy C:\ProgramData\Jenkins\.jenkins\workspace\super_manage_vue\dist F:\java\www\super_manage_vue\ /s /e /y echo 复制文件完成 exit安装niginx 配置文件如下 #user nobody; worker_processes 1;#error_log logs/error.lo…

反射调用private方法的坑

使用反射调用私有方法时&#xff0c;发现空指针异常&#xff0c;无法直接注入导致空指针异常 加入如下代码后&#xff0c;恢复正常 if (AopUtils.isCglibProxy(marketSmsTaskService)) {// 如果是cglib代理对象&#xff0c;则转为原始对象marketSmsTaskService (MarketSmsTas…

与身边的人有差距,我选择只跟自己比并发展自己的长处!

文章目录 方向一&#xff1a;简述自己的感受方向二&#xff1a;聊聊你想怎么做方向三&#xff1a;如何调整自己的心态 虽然清楚知识需要靠时间沉淀&#xff0c;但在看到自己做不出来的题别人会做&#xff0c;自己写不出的代码别人会写时还是会感到焦虑怎么办&#xff1f; 你是…

链表OJ题

题目一&#xff1a;206反转链表 题目要求&#xff1a; 思路分析&#xff1a; 代码实现&#xff1a; struct ListNode* reverseList(struct ListNode* head){ //n1,n2反转指针 n3链接下一个结点的指针struct ListNode* n1,*n2,*n3;n1 NULL;n2 head;if(n2)//有可能head本身…

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言&#xff1a;自己想使用该技术实现自动化抓取音乐&#xff0c;目前在window上运行成功&#xff0c;需要在Linux Centos服务上跑&#xff0c;配置上出现了许多问题&#xff0c;特此记录。 参考文档&#xff1a;CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…

PLC拉格朗日插值(SCL、ST计算源代码)

插值是对函数进行近似的基本方法,这篇博客主要介绍常用的拉格朗日插值法, Lagrange插值法不太清楚的同学,可以看看数值计算和分析类书籍,网上有很多C语言的拉格朗日插值算法,这里我们主要给出在PLC里利用ST,SCL语言完成拉格朗日插值计算。 1、拉格朗日插值FC 插值法可以…

TSINGSEE青犀视频安防监控视频平台加密机的详细使用与操作步骤

我们在此前的文章中介绍过不少TSINGSEE青犀视频安防监控视频平台关于加密机授权操作及相关疑问解答&#xff0c;感兴趣的用户可以翻阅往期的文章进行了解。由于新用户咨询该方面的问题较多&#xff0c;今天我们再来介绍一下操作步骤。 注意&#xff1a;加密机是依据IP授权&…

第三章-运输层

运输层服务 运输层协议为运行在不同主机上的进程之间提供逻辑通信&#xff0c;即从应用程序角度看两个主机好像直连一样&#xff0c;实际可能相隔万里运输层协议是在端系统上实现的&#xff0c;而不是路由器&#xff0c;为什么这么强调&#xff0c;因为运输层会将应用报文划分…

ctfshow web93-98

web93 打开环境是一个代码审计题目 简单分析就是输入一个变量num&#xff0c;其值不能等于4476与包含字母&#xff0c;但是他的值需要为4476 函数intval作用为获取变量的整数值&#xff0c;第二个参数的意思是进制&#xff0c;默认为10进制。题目参数为0&#xff0c;就根据变…

【数据结构与算法】力扣:完全二叉树的节点个数+平衡二叉树

完全二叉树的节点个数 给你一棵完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最…

本地搭建web服务器、个人博客并发布公网访问

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会&#xff0c;网络已经成为我们生活离不开的必需品&#xff0c;而纷繁…

YOLOv5项目调试与实战

拥有青春的时候 你就要感受它 不要浪费你的黄金时代 把宝贵的内在生命活出来 什么都别错过 一、项目介绍与环境配置 github地址 选择5.0版本的tag&#xff0c;并下载源码 使用Pycharm打开代码 选择解释器&#xff0c;我选择的是之前conda创建的pytorch环境 安装项目所需要用到…

map 比较(两个map的key,value 是否一样)

1. 用equals 比较 public static void main(String[] args) {List<Map<String,Object>> list new ArrayList<>();Map<String,Object> map1 new HashMap<>();map1.put("name","郭");map1.put("objId","1&quo…

Linux jq 命令讲解与实战操作(json字符串解析工具)

文章目录 一、概述二、jq 命令安装三、jq 命令语法与示例详解1&#xff09;基本用法2&#xff09;常用选项3&#xff09;查询和过滤1、选择字段2、过滤3、遍历数组4、组合操作 4&#xff09;修改和创建1、修改字段值&#xff1a;2、创建新字段&#xff1a;3、组合操作&#xff…

视频基础知识简介

视频 由一组图像组成&#xff0c;且图像一般为了方便传输或者减少占用空间而被压缩(如H264,265等格式)&#xff0c;最终在显示设备上进行显示。 图像 图像由像素组成&#xff0c;像素又是由RGB组成&#xff0c;每个点的颜色由红绿蓝进行组合形成新的颜色&#xff1b; 分辨率…

[Flask]SSTI1

根据题目提示&#xff0c;这关应该是基于Python flask的模版注入&#xff0c;进入靶场环境后就是一段字符串&#xff0c;而且没有任何提示&#xff0c;有点难受&#xff0c;主要是没有提示注入点 随机尝试一下咯&#xff0c;首先尝试一下guest&#xff0c;GET传参 但是没有反应…

基于Java+SpringBoot+Vue的篮球论坛系统设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

第2章 图像变换

第2章 图像变换 **写得比较粗错&#xff0c;详解后续跟上。**第2章 图像变换2.1 反色变换2.1.1 基本原理2.1.2 源码2.1.3 样例 2.2 线性变换2.2.1 基本原理2.2.2 源码2.2.3 样例加入滚动条 2.3 对数变换2.3.1 基本原理2.3.2 源码2.3.3 样例加入滚动条 2.4 gamma变换2.4.1 基本原…