【vite+vue3】 多页面应用模式

需要注意到的点:

1. 项目文件结构

2. vite.config.js 的配置

3. 访问地址的路径


假设你有下面这样的项目文件结构

├── package.json
├── vite.config.js
├── index.html
├── main.ts
└── src
    ├── project
        |————projectA
            |————api 
            |————router 
            |————views 
            |————index.html 
            |————main.ts
            |————app.vue  
        |————projectB  
            |————api 
            |————router 
            |————views 
            |————index.html 
            |————main.ts
            |————app.vue 
    └── views

在开发过程中,简单地导航或链接到 src/project/projectA/index.html - 将会按预期工作,与正常的静态文件服务器表现一致。


vite.config.js 文件如下:

// vite.config.js
import { resolve } from 'path'
import { defineConfig } from 'vite'


// 当前执行node命令时文件夹的地址(工作目录)
const root = process.cwd()

export default defineConfig({
  base: './',
  root: root,
  build: {
    target: 'modules',
    minify: 'terser',
    outDir: env.VITE_OUT_DIR || 'dist',
    assetsDir: 'static', //指定生成静态文件目录
    rollupOptions: { // 配置多页面应用模式
      input: {
        input: {
          portalProject: path.resolve(__dirname, 'src/project/portalProject/index.html'),
          riskProject: path.resolve(__dirname, 'src/project/riskProject/index.html'),
        }
      },
      output: { // build 输出
          entryFileNames: 'static/js/[name]-[hash].js',
          chunkFileNames: 'static/js/[name]-[hash].js',
          assetFileNames: 'static/[ext]/name-[hash].[ext]',
        }
    },
  },
})

如果你指定了另一个根目录,请记住,在解析输入路径时,__dirname 的值将仍然是 vite.config.js 文件所在的目录。因此,你需要把对应入口文件的 root 的路径添加到 resolve 的参数中。


在package.json中打包或者启动命令如下:

npm run dev 即可。

访问地址变为localhost/src/project/portalProject/index.html

localhost/src/project/riskProject/index.html

当执行npm run build 时生成的目录如下:


 注意⚠️在运维部署时,访问该html,需要多写点路径才能正常访问

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1669_MIT 6.828 xv6代码的获取以及编译启动

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 6.828的学习的资料从开始基本信息的讲解,逐步往unix的一个特殊版本xv6过度了。这样,先得熟悉一下这个OS的基本代码以及环境。 在课程中其实…

Python工具库安装

1、Python工具库下载 (1)查询安装Python的版本信息。 按键 WinR,在弹出的“运行”对话框中输入cmd,在弹出的Dos系统中,输入python,即可查询得到Python的版本信息。本次所安装的python版本为3.8.10。 &…

后端开发之Swagger API开发工具

最近刚入职公司,做Java后端。当下对于新手程序员来说,的确并不友好,不仅是经济低迷,而且这次chatgpt的大火也极大地冲击了软件开发行业,所以小白必须抓紧时间卷,哪怕自己写出来的东西把自己搞失业……也要尽…

【Python从入门到进阶】14、字典高级应用

接上篇《13、元组高级应用及常见切片操作》 上两篇我们学习了Python中元组的高级应用,以及字符串、列表和元祖的切片操作。本篇我们来学习字典的高级应用,包括字典的查询、修改、添加、删除及遍历操作。 一、字典高级简介 我们通过前面的学习知道&…

ORACLE创建表空间、用户、授权和Navicat创建序列和触发器及解决ORA-00942、ORA-01219错误

问题描述:因为每次Oracle删除数据库的时候磁盘文件还没删除,然后自己手动停止Oracle,删除磁盘里的.DBF文件导致数据库重启后无法连接。 cmd sqlplus sys as sysdba执行alter database open;查看你报错的数据文件(就是你停止Orac…

Git 基础知识总结

Git 基础知识总结 1. Git 简介 Git 是什么 Git是一款分布式版本控制系统,可以有效地管理代码的版本和变更。Git可以在本地进行版本控制,也可以在多人协作开发时进行远程版本控制。Git的设计目标是速度快、数据完整性高、支持分布式、非线性开发流程。…

NVIDIA-cuSPARSE数据类型2023年(二)

4 cuSPARSE数据类型参考 4.1 数据类型 float,double,cuComplex,cuDoubleComplex后两个类型是来自cuComplex.h 4.2 cusparseStatus_t 表示库函数返回的状态,可以有以下取值: CUSPARSE_STATUS_SUCCESS 操作成功完成CUSPARSE_STATUS_NOT_INITIALIZED 库…

SpringBoot整合junitmybatis

SpringBoot整合junit&mybatis3,SpringBoot整合junit3.1 环境准备3.2 编写测试类4,SpringBoot整合mybatis4.1 回顾Spring整合Mybatis4.2 SpringBoot整合mybatis4.2.1 创建模块4.2.2 定义实体类4.2.3 定义dao接口4.2.4 定义测试类4.2.5 编写配置4.2.6 …

拉取代码到本地 git pull 和 git clone 的区别

一、git pull 使用 git pull 拉取代码,你需有权限。 从你自己的远程仓库拉取代码,或者使用你团队的仓库拉取代码。 1.有 有权限可以拉取代码的远程仓库 1. 所以首先要连接远程仓库,前提你得先有个本地仓库存放,如果没有先创建。 …

ToBeWritten之反入侵安全技术面经总结

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…

ReactJS到React-Native,架构原理概述

React是一个纯JS的UI库,只能干HTML/CSS/JS 提供的Web服务(新的H5 API不一定支持), React-Native厉害在于它能打通JS和Native Code, 让JS能够调用丰富的原生接口,充分发挥硬件的能力, 实现非常复杂的效果,同时能保证效率和跨平台性…

【CocosCreator入门】CocosCreator组件 | MotionStreak(拖尾)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中MotionStreak是Cocos Creator中一个非常有用的特效组件,可以创建出类似于拖尾的效果。本文将深入讲解MotionStreak的实现原理及使用方法。 目录 一、MotionStreak的实现原…

黑客与渗透师的区别,如何才能成为一名黑客

网络安全员顾名思义就是“研究网络的安全性的人员”没有“渗透师”这个称呼,都是“渗透测试工程师”“黑客”像是个俗名,广义概念上是一种精神,狭义概念还得按照时代来分1、网络安全这个领域非常庞大,包括了安全服务(渗…

碉堡!“万物皆可分”标记模型上线「GitHub 热点速览」

作者:HelloGitHub-小鱼干这周有个让人眼前一亮的图像识别模型 segment-anything,它能精细地框出所有可见物体,它标记出的物体边界线清晰可见。如此出色的模型,自然获得了不少人的赞赏,开源没几天,就拿下了 …

VSCode+PyQt之Python界面编写

环境配置 1、python3.9 2、安装库 pip install PyQt5 pip install PyQt5-tools3、选择python解释器 4、在VSCode里下载并安装PYQT Integration 5、配置pyqt integration 5.1 将下面改为:D:\ProgramFiles\Python39\Scripts\pyuic5.exe 5.2 将下面的改为&#xff…

Kafka 入门篇(三)

文章目录 提交和偏移量的概念特殊偏移自动提交提交当前偏移量异步提交同步和异步组合提交提交特定的偏移量提交和偏移量的概念 特殊偏移 我们上面提到,消费者在每次调用poll() 方法进行定时轮询的时候,会返回由生产者写入 Kafka 但是还没有被消费者消费的记录,因此我们可以…

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)

文章目录第一步:构建路径与种类的映射关系第二步:载入所有的宝可梦图像第三步:打散顺序并通过路径名提取映射关系构建映射文件第四步:完善选取、获取图片信息功能并可视化第五步:对数据进行预处理第六步:批…

【李宏毅】深度学习——HW4-Speaker Identification

Speaker Identification 1.Goal 根据给定的语音内容,识别出说话者是谁 2.Data formats 2.1data directory 目录下有三个json文件和很多pt文件,三个json文件作用标注在下图中,pt文件就是语音内容。 mapping文件 metadata文件 n_mels:Th…

飞桨EasyDL落地三大工业场景,工业AI赋能产业升级

数智化时代,如何利用人工智能实现传统生产方式的转型升级,成为摆在每个工业制造企业的一道必答题。工业生产、质检、管理等环节,持续产生海量数据。以机器视觉为代表的AI技术,广泛应用在3C电子、快消品制造、汽车零部件制造等多个…

指令系统和寻址方式

文章目录指令系统指令的基本格式扩展码指令格式指令的操作类型指令的寻址方式指令寻址数据寻址隐含寻址立即寻址直接寻址间接寻址寄存器寻址寄存器间接寻址相对寻址基址寻址变址寻址堆栈寻址使用场景PSW小结程序的机器级代码表示CISC和RISC刷题小结指令系统 指令:计…