Nginx 配置前端工程项目二级目录

前提:

前端工程技术框架: vue 

后端工程技术工程:spring boot

需求:需要通过二级目录访问前端工程:

如之前:http://127.0.0.1:80/  改成 http://127.0.0.1/secondDirectory:80/

一.前端工程支持二级目录

1.编译文件index.js 增加 一个自定义变量 :process.env.SECOND_DIRECTORY值为二级目录  設置到參數

assetsPublicPath中

2.环境变量文件中env.js 中增加变量 SECOND_DIRECTORY 值为二级目录

3.路由文件router.js应用

4.加载配置时应用:

二  . 容器中nginx配置修改:

nginx.template主要配置如图

说明:关键是要前端工程支持二级目录访问

三 shell 脚本支持自定义修改上面内容打包前端工程

#!/bin/bash
#参数形式:ENV_PARAMS='[{"SECOND_DIRECTORY":"service"}]'
cd ${WORKSPACE}
# using private mirrors ensure that the dependent packages like node-sass can be downloaded successfully
echo "Value of ENV_PARAMS: ${ENV_PARAMS}"
SECOND_DIRECTORY="";
if [ -n "${ENV_PARAMS}" ] && [ "${ENV_PARAMS}" != "[]" ]; then# 执行你的 sed 命令,例如:SECOND_DIRECTORY=$(echo $ENV_PARAMS | grep -o '"SECOND_DIRECTORY":"[^"]*"' | awk -F'"' '{print $4}')# 可以添加更多的 sed 命令echo "Value of SECOND_DIRECTORY: ${SECOND_DIRECTORY}"
elseecho "ENV_PARAMS Nothing Do"
fiif [ -n "${SECOND_DIRECTORY}" ] && [ "${SECOND_DIRECTORY}" != "'/'" ]; then# 执行你的 sed 命令,例如:sed -i "s|^process.env.SECOND_DIRECTORY.*|process.env.SECOND_DIRECTORY = '/"${SECOND_DIRECTORY}"/'|" "${WORKSPACE}/config/index.js"sed -i "s|SECOND_DIRECTORY.*|SECOND_DIRECTORY:'\"/"${SECOND_DIRECTORY}"/\"',|" "${WORKSPACE}/config/prod.env.js"sed -i 's|second_directory|'"${SECOND_DIRECTORY}"'|' "${WORKSPACE}/nginx.template"# 可以添加更多的 sed 命令echo "SECOND_DIRECTORY Do"
elseecho "SECOND_DIRECTORY Nothing Do"
finpm config set registry  XXXXURL
npm install --unsafe-perm=true --allow-root
npm run buildcat $dockerFile

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(十八)devops持续集成开发——使用docker安装部署jenkins流水线服务

前言 本节内容介绍如何使用docker容器来部署安装jenkins流水线服务。关于docker容器的安装本节内容不做介绍。请读者提前安装。 正文 ①使用docker查找jenkins官方镜像 ② 拉取jenkins官方镜像jenkins/jenkins,选择一个最新稳定版本,避免一些插件不兼…

15.一种坍缩式的简单——组合模式详解

当曾经的孩子们慢慢步入社会才知道,那年味渐淡的春节就像是疾驰在人生路上的暂停键。 它允许你在隆隆的鞭炮声中静下心来,瞻前顾后,怅然若失。 也允许你在寂静的街道上屏气凝神,倾听自己胸腔里的那团人声鼎沸。 孩子们会明白的&am…

mysql在服务器中的主从复制Linux下

mysql在服务器中的主从复制Linux下 为什么要进行主从复制主从复制的原理主从复制执行流程操作步骤主库创建从库创建 测试 为什么要进行主从复制 在业务中通常会有情况,在sql执行时,将表锁住,导致不能进行查询,这样就会影响业务的…

游戏平台如何定制开发?

随着科技的飞速发展和互联网的普及,游戏平台已成为人们休闲娱乐的重要选择。为了满足用户多样化的需求,游戏平台的定制开发显得尤为重要。本文将探讨游戏平台定制开发的过程、关键要素以及注意事项,为有志于涉足此领域的开发者提供参考。 一、…

商品评论接口的应用

一、应用场景 商家调研自家产品的满意度及改进建议,B端商户想要铺货挑选商品,独立站运营商 二、公共参数 请求地址: https://api/item_review 三、请求参数 请求参数:num_iid600530677643&data&page1 参数说明:参数…

OpenAI文生视频大模型Sora概述

Sora,美国人工智能研究公司OpenAI发布的人工智能文生视频大模型(但OpenAI并未单纯将其视为视频模型,而是作为“世界模拟器” ),于2024年2月15日(美国当地时间)正式对外发布。 Sora可以根据用户…

golang入门介绍-1

今天开始发布关于go语言入门到实战内容,各位小伙伴准备好。 go介绍 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。 Go 是…

Maven depoly:Skipping artifact deployment

问题描述: 使用IDEA执行mvn depoly将本地开发的模块发布到Maven私服时,一直提示:Skipping artifact deployment,自动跳过了depoly部署阶段。 问题分析 Maven构建生命周期中的每一个阶段都是由对应的maven插件执行具体工作的。既然…

【无标题】旋转链表与力扣报错:member access within null pointer of type ‘struct ListNode‘

项目场景: 做单链表反转题目,报错:member access within null pointer of type ‘struct ListNode’ 题目链接:LINK 问题描述 我明明在初始化指针时候,已经处理了n2->next情况却依然报错 这个报错提示含义是:大概就…

C++日志库plog使用指南

前言 之前介绍过一个C语言日志库 轻量级c语言开源日志库log.c介绍,源代码只有不到200行,使用非常方便。但是也存在很多缺点,比如日志时间只支持打印到秒,没有作多线程处理,不支持日志回滚。在小型项目或者测试demo中使…

【Effective Objective - C】—— block 块

【Effective Objective - C】—— block 块 前言37.理解块的概念块的基础知识块可以捕获变量内联块的用法块的内部结构栈块堆块全局块要点 38.为常用的块类型创建typedef要点 39.用handler块降低代码分散程度协议传值实现异步块实现异步回调操作里的块要点 40.用块引用其所属对…

SpringBoot项目快速创建

SpringBoot项目快速创建 方法一&#xff1a;通过IDEA的Spring Initializr 点击文件&#xff0c;新建项目&#xff0c;选择Spring Initializr 名称&#xff1a;项目名称存放位置&#xff1a; 语言&#xff1a;Java类型&#xff1a;Maven组&#xff1a;<groupId>com.exam…

MyBatisPlus条件构造器和常用接口

前置配置文章 一、wapper介绍 wrapper的继承体系&#xff1a; Wrapper &#xff1a; 条件构造抽象类&#xff0c;最顶端父类 AbstractWrapper &#xff1a; 用于查询条件封装&#xff0c;生成 sql 的 where 条件 QueryWrapper &#xff1a; 查询条件封装UpdateWrapper &#x…

【MATLAB GUI】 4. 坐标区和表

看B站up主freexyn的freexyn编程实例视频教程系列36Matlab GUI的学习笔记 文章目录 坐标区表 坐标区 任务要求设计一个图像显示界面&#xff0c;根据选定的周期做出相应的sin函数图像 使用坐标区、弹出式菜单、普通按钮设计页面&#xff0c;弹出式菜单string设置为1、2、3、4代…

C#,动态规划(DP)丢鸡蛋问题(Egg Dropping Puzzle)的三种算法与源代码

1 扔鸡蛋问题 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是运筹学的一个分支&#xff0c;是求解决策过程最优化的过程。20世纪50年代初&#xff0c;美国数学家贝尔曼&#xff08;R.Bellman&#xff09;等人在研究多阶段决策过程的优化问题时&#xf…

【MySQL】数据库概述

目录 一、为什么使用数据库&#xff1f; 二、数据库与数据库管理系统 2.1 相关概念 2.2 两者关系 三、 MySQL介绍 四、 RDBMS和非RDBMS 4.1 关系型数据库&#xff08;RDBMS&#xff09; 4.2 非关系型数据库&#xff08;非RDBMS&#xff09; 五、关系型数据库设计规则 …

WebService学习,wsdl文件详解

目录 第一章、起因1.1&#xff09;学习原因1.2&#xff09;提问的过程&#xff08;逐步提出问题&#xff09;1、&#xff1f;wsdl链接的含义&#xff0c;有什么作用&#xff1f;2、什么是wsdl文档&#xff1f;3、如何阅读wsdl文件&#xff1f;4、wsdl文件有什么作用&#xff1f…

百面嵌入式专栏(经验篇)如何在面试中介绍自己的项目经验

文章目录 1. 在面试前准备项目描述,别害怕,因为面试官什么都不知道2. 准备项目的各种细节,一旦被问倒了,就说明你没做过3.不露痕迹地说出面试官爱听的话4.一定要主动,面试官没有义务挖掘你的亮点5.一旦有低级错误,可能会直接出局6.引导篇:准备些加分点,在介绍时有意提到…

图文说明Linux云服务器如何更改实例镜像

一、应用场景举例 在学习Linux的vim时&#xff0c;我们难免要对vim进行一些配置&#xff0c;这里我们提供一个vim插件的安装包&#xff1a; curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o./install.sh && bash ./install.sh 但是此安装包…

关于el-select值的回显问题 : 框内显示label值还是value值

<el-form-item label"状态" prop""><el-selectv-model"roleForm.state"class"m-2"size"large"style"width: 240px"placeholder"请选择状态"value-key"value"//value-key 与下面的ke…