当前位置: 首页 > news >正文

Vue 3 和 Vue Router 使用 createWebHistory 配置

在 Vue 3 项目中,如果使用 Vue Router 并希望启用 HTML5 History 模式,需要在创建路由器实例时传入 createWebHistory 作为历史模式的配置。此外,还需要确保在生产环境中设置正确的基本路径(base),这样才能正确处理前端路由。

路由配置

首先,在 router/index.js 文件中,这样配置路由器:

import { createRouter, createWebHistory } from 'vue-router';const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL || '/'),routes: [...], // 定义路由数组
});export default router;

在这里,import.meta.env.BASE_URL 是从 Vite 环境变量读取的,它允许指定应用程序的基本路径。如果没有设置环境变量,它将默认为 '/'。这个配置项一般对应的就是vite.config.ts文件中的base项的配置。

在这里插入图片描述
打印输出看到环境变量中的值:在这里插入图片描述
这一项配置了之后再打包后index.html会是这样:
在这里插入图片描述

打包部署到nginx

Nginx 配置
对于 Nginx 的配置,需要确保所有前端路由都能够正确地映射到Vue 应用程序的入口文件(通常是 index.html)。这是因为在 HTML5 History 模式下,URL 看起来像普通的路径,但实际上并不对应于服务器上的物理文件。因此,需要告诉 Nginx 如何处理这些虚拟路径。

以下是一个 Nginx 配置示例,假设应用程序部署在服务器的根目录下:

server {listen 80;server_name example.com;location / {root /path/to/your/dist; # 替换为实际 dist 目录路径try_files $uri $uri/ /index.html;}
}

如果应用程序部署在子路径下,例如 /myapp,需要相应地调整 location 块和 root 指令:

server {listen 80;server_name example.com;location /myapp {alias /path/to/your/dist; # 替换为实际 dist 目录路径try_files $uri $uri/ /myapp/index.html;}
}

请确保将 /path/to/your/dist 替换为实际构建输出目录的路径,并且根据实际部署情况调整 server_name 和子路径。

以上配置将确保即使用户直接访问一个特定的路由(例如 http://example.com/myapp/some-route),Nginx 也会正确地提供 index.html,然后由 Vue Router 接管并渲染正确的组件。

相关文章:

Vue 3 和 Vue Router 使用 createWebHistory 配置

在 Vue 3 项目中,如果使用 Vue Router 并希望启用 HTML5 History 模式,需要在创建路由器实例时传入 createWebHistory 作为历史模式的配置。此外,还需要确保在生产环境中设置正确的基本路径(base),这样才能…...

Nginx:rewrite指令之flag标志

Nginx 的 rewrite 指令用于根据正则表达式来匹配请求的 URI,并将其重写为新的 URI。rewrite 指令可以包含一个可选的 flag(标志),该标志用于控制重写操作后的行为。 rewrite regex replacement [flag] 一. 常用四种 flag redir…...

C#从零开始学习(如何构建应用)

开始使用 C# 开发使用的软件Visual Studio 2019 文章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp 创建一个控制台应用 打开Visual Studio 2019 创建项目 选择控制台应用程序 创建后点击运行,就可以在控制台打印Hello World 构建一个游戏(创建WPF项目…...

FCoE简介

数据中心融合网络的发展趋势 如图1所示,传统数据中心组网中,以太网LAN(Local Area Network)用于服务器与服务器、客户端与服务器之间通信,存储区域网络SAN(Storage Area Network)用于服务器与存…...

论文笔记:Template-Based Named Entity Recognition Using BART

论文来源:ACL 2021 Finding 论文链接:https://aclanthology.org/2021.findings-acl.161.pdf 论文代码:GitHub - Nealcly/templateNER: Source code for template-based NER 笔记仅供参考,撰写不易,请勿恶意转载抄袭…...

【Nestjs】从入门到精通(依赖注入)

NestJS 是一个基于 Node.js 的渐进式框架,构建在 Express 或 Fastify 之上,主要用于构建高效、可扩展的服务器端应用程序。它使用 TypeScript 并借鉴了 Angular 的设计理念,采用了依赖注入(IoC, Inversion of Control)…...

C语言函数

1.C语言函数的定义 C源程序是由函数组成的。最简单的程序有一个主函数main(),但实用程序往往由多个函数组成,由主函数调用其他函数,其他函数也可以互相调用。函数是C源程序的基本模块,程序的许多功能是通过对函数模块的调用来实现…...

FLINK SQLTable API 的基本概念及常用API

基本概念 SQL和Table API是Apache Flink提供的两个关系型API,它们被设计用于统一的流和批处理。以下是关于SQL和Table API的基本概念及常用API的详细介绍: 一、基本概念 Table API 定义:Table API是一个为Java、Scala和Python提供的语言集…...

Docker daemon.json配置参数及格式帮助信息

我们知道程序运行,通过修改命令参数或者配置文件配置项,对程序进行修改。Docker也不例外,通过docker.service 增加命令参数或者在/etc/docker/daemon.json中增加配置项均可。 推荐修改daemon.json对docker守护进程进行配置更改(方…...

十月编程语言排行榜~

前言:TIOBE编程语言排行榜通过分析全球开发者的活动、代码搜索和问答社区的流量,提供了编程语言受欢迎度的动态图景。该指数是技术趋势的风向标,揭示了哪些编程语言在技术领域占据主导地位,哪些语言正在快速崛起或逐渐衰退。 ✨✨…...

十三、行为型(策略模式)

策略模式(Strategy Pattern) 概念 策略模式(Strategy Pattern)是一种行为型设计模式,允许定义一系列算法,将每个算法封装在策略类中,并使它们可以互换使用。客户端可以根据需要动态选择不同的策…...

Vue环境安装以及配置

这里写目录标题 前言一、前置要求1.安装Node.js2. 安装VScode 二、创建全局安装目录和缓存日志目录三、配置环境变量四、权限五、npm换源六、vscode插件1. Vue-Offical2. Vue 3 Snippets3. Path Intellisense4. Auto Import5. Auto Close Tag6. Auto Rename Tag7.GitLens总结 前…...

Redis 数据类型hash(哈希)

目录 1 基本特性 2 主要操作命令 2.1 设置和获取字段 2.1.1 HSET key field value 2.1.2 HGET key field 2.1.3 HMSET key field1 value1 [field2 value2 ...] 2.1.4 HMGET key field1 [field2 ...] 2.2 检查字段是否存在 2.2.1 HEXISTS key field 2.3 获取所有字段…...

单一执行和循环执行的例行性工作

单一执行的例行性工作:只执行一次就结束 1.1at命令的工作过程 /etc/at.allow,写在该文件的人可以使用at命令 /etc/at.deny,黑名单 两个文件如果都不存在,只有root能使用 [rootlocalhost ~]# systemctl status atd [rootlocalh…...

单细胞分析 | Cicero+Signac 寻找顺式共可及网络

引言 在本指南[1]中,将介绍如何利用Cicero工具和单细胞ATAC-seq数据来识别共可接近网络。 为了在Seurat(Signac工具使用的格式)和CellDataSet(Cicero工具使用的格式)之间轻松转换数据,将利用GitHub上的Seur…...

人工智能创造出大量新型蛋白质

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

Palo Alto Networks Expedition 未授权SQL注入漏洞复现(CVE-2024-9465)

0x01 产品介绍: Palo Alto Networks Expedition 是一款强大的工具,帮助用户有效地迁移和优化网络安全策略,提升安全管理的效率和效果。它的自动化功能、策略分析和可视化报告使其在网络安全领域中成为一个重要的解决方案。 0x02 漏洞描述&am…...

c 语言 sprintf

在C语言中,sprintf是一个非常常用的函数,它用于将格式化的数据写入字符串中。sprintf函数的原型通常定义在stdio.h头文件中。 sprintf函数的原型如下: int sprintf(char *str, const char *format, …); 参数说明: str&#xf…...

stm32单片机个人学习笔记10(TIM编码器接口)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…...

如何在Android中存储数据?

在Android中存储数据是开发过程中至关重要的一环,根据数据的类型、大小、访问频率及安全性需求,开发者可以选择多种存储方式。以下是Android中存储数据的几种主要方式,每种方式都有其特定的应用场景和优缺点。 一、SharedPreferences Share…...

麒麟kylinV10系统yum源优化与rpm包管理实战

1. 麒麟kylinV10系统yum源优化实战 第一次用麒麟kylinV10系统时,最让我头疼的就是默认yum源速度慢得像蜗牛。记得有次安装个基础开发工具,等了半小时进度条才动了一点点。后来发现通过优化yum源配置,下载速度能提升10倍不止。下面就把我这几年…...

零基础玩转Qwen3-VL-8B:上传图片提问,本地AI助手秒答

零基础玩转Qwen3-VL-8B:上传图片提问,本地AI助手秒答 1. 项目简介 Qwen3-VL-8B是一款基于阿里云通义实验室最新多模态模型开发的本地交互工具。它最大的特点就是能让你的电脑变成一个"会看图的智能助手"——你上传一张照片,然后像…...

PyTorch 2.8镜像部署教程:RTX 4090D上量化Llama-3-8B至INT4推理实操

PyTorch 2.8镜像部署教程:RTX 4090D上量化Llama-3-8B至INT4推理实操 1. 环境准备与快速验证 在开始Llama-3-8B模型的量化部署前,我们需要先确认基础环境是否正常工作。这个PyTorch 2.8镜像已经为RTX 4090D显卡进行了深度优化,开箱即用。 1…...

SEO_ 揭秘影响搜索引擎排名的核心因素与算法

SEO核心因素解析:揭秘影响搜索引擎排名的算法 在互联网时代,搜索引擎优化(SEO)已成为每一个网站运营者的重要关注点。SEO不仅关系到网站的流量,更直接影响到网站的知名度和商业价值。究竟有哪些核心因素和算法影响着搜…...

激光测距技术:从原理到选型的全方位指南

1. 激光测距技术的基本原理 激光测距技术本质上是通过测量激光信号从发射到接收的时间或相位变化来计算距离。想象一下你在山谷里大喊一声,通过听到回声的时间差就能估算出对面山壁的距离,激光测距就是这个原理的"高科技版本"。只不过激光的速…...

嵌入式开发者必看:GitHub高星项目实战解析

1. 嵌入式开发者不可错过的GitHub高星项目盘点作为一名在嵌入式领域摸爬滚打多年的开发者,我深知优质开源项目对技术成长的重要性。GitHub这个宝藏平台上其实藏着不少嵌入式相关的精品项目,今天我就带大家深度剖析几个值得研究的项目,并分享我…...

AI摄影师助手:OpenClaw调用Qwen3-32B自动筛选与修图

AI摄影师助手:OpenClaw调用Qwen3-32B自动筛选与修图 1. 从手动修图到AI助手的转变 作为一名摄影爱好者,我经常面临一个令人头疼的问题:每次拍摄结束后,相机里堆积如山的RAW文件需要花费大量时间筛选和后期处理。直到上个月&…...

OpenClaw本地知识库构建:Qwen2.5-VL-7B处理扫描版PDF与图片资料

OpenClaw本地知识库构建:Qwen2.5-VL-7B处理扫描版PDF与图片资料 1. 为什么选择OpenClaw搭建个人知识管理系统 去年搬家时,我翻出了三大箱纸质资料——从学生时代的课堂笔记到工作后的技术手册,全都堆在角落积灰。这些资料里藏着不少珍贵内容…...

无障碍阅读助手:OpenClaw+Phi-3-vision-128k-instruct实时解析复杂图表

无障碍阅读助手:OpenClawPhi-3-vision-128k-instruct实时解析复杂图表 1. 为什么需要图表无障碍解析工具 去年帮一位视障朋友准备资格考试时,我深刻体会到技术文档中的图表是如何成为"信息黑洞"的。当他用屏幕阅读器听到"参见图3"…...

电子工程师眼中的城市电路板:无人机航拍引发的职业思考

1. 电子工程师的强迫症与无人机视角的冲突作为一名从业十年的电子工程师,我完全理解小舒所说的那种"焊盘上的电阻、电容不能歪"的强迫症。这种职业习惯已经深深烙印在我们的工作方式中 - 从PCB布局到元件焊接,从线缆走线到机箱布线&#xff0c…...