若依前后台分离项目不想配nginx部署方案

若依前后台分离框架不使用Nginx部署项目

1、修改ResourcesConfig 文件

以下是完整文件

@Configuration
public class ResourcesConfig implements WebMvcConfigurer {@Autowiredprivate RepeatSubmitInterceptor repeatSubmitInterceptor;@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**",Constants.RESOURCE_PREFIX + "/**").addResourceLocations("classpath:/dist/","file:" + JuheConfig.getProfile() + "/")// 自定义 ClassPathResource 实现类,在前端请求的地址匹配不到对应的路径时,强制使用 /law/index.html 资源// 本质上,等价于 nginx 在处理不到 Vue 的请求地址时,try_files 到 index.html 地址// 想要彻底理解,可以调试 ResourceHttpRequestHandler 的 resolveResourceLocations.addResourceLocations(new ClassPathResource("/dist/static/index.html") {@Overridepublic Resource createRelative(String relativePath) {return this;}});/** 页面静态化 */registry.addResourceHandler("/dist/**").addResourceLocations("classpath:/dist/static/");/** swagger配置 */registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/").setCacheControl(CacheControl.maxAge(5, TimeUnit.HOURS).cachePublic());;}@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/index").setViewName("index.html");registry.addViewController("/").setViewName("index.html");registry.setOrder(Ordered.HIGHEST_PRECEDENCE);}/*** 自定义拦截规则*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");}/*** 跨域配置*/@Beanpublic CorsFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();config.setAllowCredentials(true);// 设置访问源地址config.addAllowedOriginPattern("*");// 设置访问源请求头config.addAllowedHeader("*");// 设置访问源请求方法config.addAllowedMethod("*");// 有效期 1800秒config.setMaxAge(1800L);// 添加映射路径,拦截一切请求UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);// 返回新的CorsFilterreturn new CorsFilter(source);}
}

新增的内容如下

 @Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**",Constants.RESOURCE_PREFIX + "/**").addResourceLocations("classpath:/dist/","file:" + JuheConfig.getProfile() + "/")// 自定义 ClassPathResource 实现类,在前端请求的地址匹配不到对应的路径时,强制使用 /law/index.html 资源// 本质上,等价于 nginx 在处理不到 Vue 的请求地址时,try_files 到 index.html 地址// 想要彻底理解,可以调试 ResourceHttpRequestHandler 的 resolveResourceLocations.addResourceLocations(new ClassPathResource("/dist/static/index.html") {@Overridepublic Resource createRelative(String relativePath) {return this;}});/** 页面静态化 */registry.addResourceHandler("/dist/**").addResourceLocations("classpath:/dist/static/");}@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/index").setViewName("index.html");registry.addViewController("/").setViewName("index.html");registry.setOrder(Ordered.HIGHEST_PRECEDENCE);}

2、修改一下SecuritConfig.java文件 , 添加如下放开静态文件

其实就是新加入了 "/static/**", "/index"

 .antMatchers("/login","/juhe/**", "/register", "/captchaImage","/static/**", "/index").permitAll()

3、前台要修改的地方就2处 , 这个文件修改一下

把history改为hash

export default new Router({// mode: 'history', // 去掉url中的#mode: 'hash', // 去掉url中的#scrollBehavior: () => ({ y: 0 }),routes: constantRoutes
})

把prod文件夹路径改为'/'  然后打包 npm run build:prod 

把打好的包放入admin下的resources文件夹下 , 如下:

然后启动项目自己就能访问前端页面了

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

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

相关文章

数据库——SQL注入攻击

【实验内容及要求】 一、内容:掌握SQL注入攻击的原理,掌握基本SQL注入攻击的方法,掌握防SQL注入攻击的基本措施。 二、要求: 1. DVWA环境配置 DVWA(Damn Vulnerable Web Application)是一个用来进行安全…

leetcode算法题之递归--深度优先搜索总结

文章目录 1.全排列2.子集 1.全排列 全排列 class Solution {vector<vector<int>> ret;vector<int> path;bool check[7];//标记nums数组某个下标是否已访问&#xff0c;剪枝使用 public:vector<vector<int>> permute(vector<int>& n…

计算机组成原理 指令流水线

文章目录 指令流水线指令流水线的概念流水线性能分析流水线的吞吐率流水线的加速比流水线的效率 影响流水线的因素结构相关 (资源冲突)数据相关 (数据冲突)控制相关 (控制冲突) 流水线分类超量流水线 指令流水线 #mermaid-svg-vSsJnNqZf24LgjVK {font-family:"trebuchet m…

Linux 修改主机名称并通过主机名称访问服务器

一、命令提示符简介 当我们打开终端的时候&#xff0c;我们要输入命令的左边就是命令提示符&#xff0c;如下图&#xff0c;接下来介绍下他们分别代表什么含义 1、root 和 xhf 表示的是当前登录的用户名称。 2、node2 表示的当前的主机名称。 3、~ 表示的是当前的目录 4、# 表示…

基于缺陷模式的软件测试

基于缺陷模式的软件测试是一种常见的软件测试方法&#xff0c;旨在发现和识别软件系统中可能存在的缺陷模式。它通过分析过去的软件缺陷数据&#xff0c;构建缺陷模式库&#xff0c;并基于这些模式来设计测试用例。 该方法的基本步骤如下&#xff1a; 收集缺陷数据&#xff1a…

Python中__call__属性的使用指南详细解析

概要 在Python中&#xff0c;类可以具有许多特殊方法&#xff0c;以控制其行为。其中之一是__call__方法&#xff0c;它使一个类的实例可以像函数一样被调用。本文将深入探讨__call__方法的用途、示例和实际应用。 __call__方法的基本用法 __call__方法可以将一个类的实例作为…

【数据结构和算法】字符串解码

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 什么情况会用到栈 2.2 方法一&#xff1a;辅助栈法 三、代码 3.1 方法一&#xff1a;辅助栈法 四…

十年磨一剑

随着不停的优化和改进&#xff0c;JRT开发已经接近尾声&#xff0c;计划过年时候低调发布JRT1.0&#xff0c;框架目标&#xff1a;只做信创下的医疗龙头而不是信创下的苟活着。 十年前&#xff0c;我从南京踏上去沈阳的火车&#xff0c;去东北参加三方协议的启航计划&#xff…

DS|图(拓扑排序和最短路径)

题目一&#xff1a;DS图 -- 图的最短路径&#xff08;无框架&#xff09; 题目描述&#xff1a; 给出一个图的邻接矩阵&#xff0c;输入顶点v&#xff0c;用迪杰斯特拉算法求顶点v到其它顶点的最短路径。 输入要求&#xff1a; 第一行输入t&#xff0c;表示有t个测试实例 …

嵌入式实时操作系统的设计与开发——启动内核

RTOS的引导模式 RTOS的引导是指将操作系统装入内存并开始执行的过程。 在嵌入式系统的实际应用中&#xff0c;针对不同应用环境&#xff0c;对时间效率和空间效率有不同的要求。 时间限制主要包括两种情况&#xff1a;系统要求快速启动和系统启动后要求程序能实时运行。空间限…

人工智能:模拟人类智慧的科技奇迹

人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;作为一项模拟人类智慧行为的科学与技术&#xff0c;正以惊人的速度改变着我们的世界。它旨在让计算机系统具备感知、推理、学习、决策和交互等人类智慧的能力&#xff0c;成为当今科技领域的巨大突破…

SpringCloud微服务 【实用篇】| Dockerfile自定义镜像、DockerCompose

目录 一&#xff1a;Dockerfile自定义镜像 1. 镜像结构 2. Dockerfile语法 3. 构建Java项目 二&#xff1a; Docker-Compose 1. 初识DockerCompose 2. 部署微服务集群 前些天突然发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

Jupyter Lab | 在指定文件夹的 jupyter 中使用 conda 虚拟环境

Hi&#xff0c;大家好&#xff0c;我是源于花海。本文主要了解如何在指定文件夹的 jupyter 中使用 conda 虚拟环境&#xff0c;即在 conda 里面创建虚拟环境、将虚拟环境添加至 jupyter lab/notebook、安装软件包。 目录 一、创建虚拟环境 二、激活并进入虚拟环境 三、安装 …

OpenAI 拟每年投入 100-500 万美元,以获取新闻使用许可

最近两位媒体公司高层透露&#xff0c;OpenAI正积极与新闻出版公司进行谈判&#xff0c;提出每年投入100万至500万美元的费用&#xff0c;以获取将新闻文章用于训练大型语言模型的授权。 OpenAI目前正与大约十几家媒体公司进行谈判&#xff0c;但有报道称&#xff0c;即使对于…

【LeetCode】197. 上升的温度

表&#xff1a; Weather ------------------------ | Column Name | Type | ------------------------ | id | int | | recordDate | date | | temperature | int | ------------------------ id 是该表具有唯一值的列。 该表包含特定日期的温…

基于 Python+Django 技术栈,我开发了一款视频管理系统

学习过程中&#xff0c;遇到问题可以咨询作者 大家好&#xff0c;作为一名开发人员&#xff0c;平时比较愿意动手尝试各种有意思工具&#xff0c;因为笔者非常喜欢观看视频&#xff0c;尤其是YouTube、bilibili都是笔者非常喜欢的视频网站&#xff0c;所以想自己实现一个视频点…

Anaconda + Pytorch 超详细安装教程

Anaconda Pytorch 超详细安装教程 安装 Anaconda 略,自行百度即可 安装 Pytorch 虚拟环境 第一步 选择 env第二步 创建第三步 填写环境名称和选择 python 版本号 第四步 打开 https://pytorch.org/ 选择 pytorch 版本&#xff0c;我这里选择的是 GPU 版本 即 CUDA 11.8,也…

Unity组件开发--传送点

本组件仅实现A传送点到B传送的功能&#xff0c;是可以双向传送的&#xff0c;如果只要单向传送&#xff0c;可以另外改脚本实现&#xff1b; 先看效果&#xff1a; unity组件传送点演示 1.传送组件shader是怎么写的&#xff1a;这种效果的实现方案 shader编辑器是这样的&#…

国内代理IP推荐!

国内代理IP&#xff0c;日更新50w IP&#xff0c;全国200城市&#xff0c;可利用率高达99%。提供HTTP/HTTPS/SOCKS5协议&#xff0c;满足数据采集、爬虫业务需求。丰富的api参数选择&#xff0c;可自由选择时效地区等&#xff0c;按需求过滤重复资源。低延迟&#xff0c;提供丰…

Linux第20步_在虚拟机上安装“Visual Studio Code”

1、双击windows系统桌面上的“FileZilla Client.exe”&#xff0c;打开FTP客户端&#xff0c;点击03软件下的Visual Studio Code&#xff0c;发现code_1.50.1-1602600906_amd64。 2、点击“文件”&#xff0c;然后点击“站点管理器”&#xff0c;见下图操作&#xff1a; 3、点…