vite+Vue3 createWebHistory 路由前缀配置

news2024/12/26 21:10:42

vue 作为前端最火的前端框架之一,大家在使用的过程中必不可少需要使用router(路由)。

路由有hashhistory 两种,本期主要针对history模式路由前缀 使用和配置,进行简单介绍。

env变量

在根目录下,创建开发、测试、灰度、生产等 env文件

在这里插入图片描述

// .env.dev
VITE_APP_ENV = 'development'
VITE_APP_ROUTER = '/xxx-demo/'

//.env.prod
VITE_APP_ENV = 'prod'
VITE_APP_ROUTER = '/xxx-demo/'

package.json

// 使用 env 文件

{
  "name": "xxx-demo",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "dev": "vite --mode dev --open",
    "build": "vite build --mode test",
    "prod": "vite build --mode prod"
  },
  "dependencies": {
  ...
  }
}

router路由文件

import { createRouter, createWebHistory } from 'vue-router'
/**
 * 去中心化管理路由
 */
const files = import.meta.globEager('./modules/*.ts')
const modules = Object.keys(files).reduce((e, path: string) => files[path]?.default, [])

const Router = createRouter({
  // VITE_APP_ROUTER  == /xxx-demo/
  // 不需要路由前缀,createWebHistory则不需要传值
  history: createWebHistory(import.meta.env.VITE_APP_ROUTER),
  routes: [...modules]
})
export default Router


路由重置、404配置

// 嵌套路由的模板组件
import Main from '@/views/layouts/mainBox.vue'

const base = [
  {
    path: '/',
    // 默认重置到/index(首页)
    redirect: '/index'
  },
  {
    path: '/page',
    component: Main,
    children:[
      {
        path: '404',
        name: 'pagge404',
        component: () => import(/* webpackChunkName: "error" */ '@/views/layouts/error.vue')
      }
    ]
  },
  {
    path: '/:pathMatch(.*)',
    // 没有匹配的path,则去404页面
    redirect: '/page/404'
  }

]

export default base

ngxin 配置

安装nginx可以参考
nginx 安装1
nginx 安装2

server
{
    listen 80;
	# 域名配置
    server_name  xxx.demo.com;
    index index.html;



    access_log  /var/log/nginx/xxx.demo.com.log main;
    error_log  /var/log/nginx/xxx.demo.com.log.err error;

    location /emao-ui {
      # 项目地址
      alias /data/www/project-xxx-demo/;
       try_files $uri $uri/ @xxx_demo;
       index index.html;
    }

    location @xxx_demoe {
       rewrite ^.*$ /xxx-demo/index.html last;
    }
}

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

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

相关文章

几种常见的 Python 数据结构

摘要:本文主要为大家讲解在 Python 开发中常见的几种数据结构。 数据结构和序列 元组 元组是一个固定长度,不可改变的 Python 序列对象。创建元组的最简单方式,是用逗号分隔一列值: In [1]: tup 4, 5, 6 当用复杂的表达式定义…

开放网关架构演进

淘宝开放平台是阿里与外部生态互联互通的重要开放途径,通过开放的产品技术把阿里经济体一系列基础服务,像水、电、煤一样输送给我们的商家、开发者、社区媒体以及其他合作伙伴,推动行业的定制、创新、进化, 并最终促成新商业文明生态圈。 开放…

最新ChatGPT网站源码+支持GPT4.0+Prompt设定+ai绘画+GPT3.5 API绘画+语音识别输入!

前言 程序已支持ChatGPT4.0、Midjourney绘画、GPT3.5 绘画、语音识别输入、文章资讯发布功能、用户每日签到功能一键更新版本。支持手机电脑不同布局页面自适应。 1、提问:程序已经支持GPT3.5、GPT4.0接口 2、支持三种Ai绘画模型(Midjourney模型、GPT3.5…

苹果Vision Pro物料成本曝光,3499美金售价原来是这样来的

苹果首款头显Vision Pro售价3499美元,近期网上流出了Vision Pro的物料清单(BOM),清单显示,Vision Pro物料成本约1509美元。 其中,二片内屏占700美元,为成本最高的零组件,由索尼供应…

谁说不可兼得,用scrcpy实现手机免流播放bilibili投屏电脑

目前的手机大额流量卡都是支持设备免流的,但是如何将这个流量用在其他设备,就相当麻烦。于是我查找了些相关Android投屏技术资料,发现了一个简单的USB投屏工具——scrcpy。 安装说明 Office:https://github.com/Genymobile/scrcp…

【JVM】JVM收集器CMS与G1区别

文章目录 区别一: 使用范围不一样区别二: STW的时间区别三: 垃圾碎片区别四: 垃圾回收的过程不一样CMS回收垃圾的4个阶段CMS的总结和优缺点G1回收器的特点大对象的处理G1回收垃圾的4个阶段什么情况下应该考虑使用G1G1设置参数 CMS…

Spark运行原理

1.BlockManager BlockManager是Spark的分布式存储系统 主从结构:BlockManagerMaster/BlockManager(Slave) BlockManagerMaster 在Driver端启动 :负责接受Executor上的BlockManager的注册 管理BlockManager的元数据信息 BlockMana…

浅谈养老所消防安全存在的问题与解决方案 安科瑞 许敏

1养老场所消防安全存在的问题 1.1筑物耐火等级低 养老场所新建的建筑较少,尤其是对于民办养老场所来说,大部分都是以原有的民房、工厂厂房、废弃学校等修建起来,通过简单的改造,而后演变成养老基地。这些建筑整体耐火等级不够&am…

海康工业相机WPF打开方式

1.通过nuget安装Gige和imageLibrary GitHub - Touseefelahi/GigeVision: Simple GigeVision implementation, GVSP, GVCP protocol implemented 2.窗体布局xaml代码 <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/x…

面向对象学习笔记

常见代码块应用 局部代码块 在方法中出现&#xff0c;限定变量的生命周期构造代码块&#xff08;初始化块&#xff09; 在类中方法外出现&#xff0c;多个构造方法方法中相同的代码存放到一起&#xff0c;每次调用构造都执行&#xff0c;在调用构造方法前执行静态代码块 在类中…

达摩院+华为 | NLP博士的春招历程

作者 | luan2006 整理 | NewBeeNLP 面试锦囊之面经分享系列&#xff0c;持续更新中 赶紧后台回复"面试"加入讨论组交流吧 写在前面 本博均985&#xff08;不同校&#xff09;、现北京Top2计算机类博士生、方向为人工智能-自然语言处理。 个人优势&#xff1a;绩点年…

PeekingDuck

介绍 计算机视觉项目可能会非常令人望而生畏&#xff0c;涉及到各种工具和包&#xff0c;如OpenCV、TensorFlow和PyTorch等等。不仅需要熟悉所涉及的工具和API&#xff0c;还需要正确组合各个包&#xff0c;以使整个计算机视觉流水线正常工作。 例如&#xff0c;OpenCV以[H&…

玩转百问网东山Pi壹号-SSD202 Linux开发板(一)

点击上方“嵌入式应用研究院”&#xff0c;选择“置顶/星标公众号” 干货福利&#xff0c;第一时间送达&#xff01; 来源 | 嵌入式应用研究院 整理&排版 | 嵌入式应用研究院 很早之前就做过SSD20x相关的平台&#xff0c;刚好手里有一块东山Pi壹号-开发板&#xff0c;于是我…

儿童睡眠慢波的起源、同步和传播

摘要 目的&#xff1a;使用EEG delta功率(&#xff1c;4Hz)测量的睡眠慢波活动在整个发育过程中发生显著变化&#xff0c;反映了大脑功能和解剖结构的变化。然而&#xff0c;个体慢波特征随年龄的变化尚未被彻底研究。在这里&#xff0c;本研究旨在表征儿童期到成年期的个体慢…

Redis从入门到精通【高阶篇】之底层数据结构简单动态字符串(SDS)详解

文章目录 1.原理解析1.1.SDS的内部实现原理1.1.1 Redis 6.0版本和Redis5.0对比1.1.2 redis6和redis5对比1.1.3 优势1.1.3.1. 动态扩容1.1.3.2. 常数复杂度获取字符串长度1.1.3.3. 杜绝缓冲区溢出1.1.3.4. 减少修改字符串的内存重新分配次数1.1.3.5. 二进制安全1.1.3.6. 兼容部分…

SpringMVC06:Json交互处理

目录 一、什么是JSON? 二、代码测试 1、新建一个module&#xff0c;SpringMVC-05-json&#xff0c;添加web支持和lib包 2、在index.jsp中编写测试内容 3、配置tomcat&#xff0c;启动项目&#xff0c;在浏览器中打开&#xff0c;查看控制台输出 4、controller返回JSON数据…

AC变DC220V变5V小家电电源芯片-AH8652、AH8669

Q: 什么是AH8652和AH8669电源芯片? A: AH8652和AH8669都是AC变DC的电源芯片&#xff0c;适用于将输入的交流电压&#xff08;220V&#xff09;转换为5V直流电压输出&#xff0c;用于小家电的电源模块等应用。 AC变DC220V变5V小家电电源芯片-AH8669 Q: AH8652和AH8669的最大输…

2023智源大会议程公开丨自动驾驶论坛

6月9日&#xff0c;2023北京智源大会&#xff0c;将邀请这一领域的探索者、实践者、以及关心智能科学的每个人&#xff0c;共同拉开未来舞台的帷幕&#xff0c;你准备好了吗&#xff1f;与会知名嘉宾包括&#xff0c;图灵奖得主Yann LeCun、图灵奖得主Geoffrey Hinton、OpenAI创…

Observability:如何有效地将应用日志发送到 Elasticsearch

在今天的文章中&#xff0c;我们将探讨使用 3 种不同的架构发送应用的日子到 Elasticsearch。我们将详述它们的优缺点。更多关于日志架构的介绍&#xff0c;请参考 “Elastic&#xff1a;开发者上手指南” 中的 “Elastic Stack 架构” 部分。 介绍 采用 Elastic Stack&#x…

前端录制回放rrweb

rrweb 是 ‘record and replay the web’ 的简写&#xff0c;旨在利用现代浏览器所提供的强大 API 录制并回放任意 web 界面中的用户操作。 rrweb中文文档 https://github.com/rrweb-io/rrweb/blob/master/guide.zh_CN.md 本文项目地址 https://github.com/qdfudimo/vue-rrweb…