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

ruoyi若依vue分离版前端资源打包到jar中

文章目录

  • 前言
  • 一、前端修改ruoyi-ui目录中vue.config.js
  • 二、后端修改
    • 1、ruoyi-admin模块修改
      • 1.1、修改pom
      • 1.2、修改SysIndexController
    • 2、ruoyi-framework模块修改
      • 2.1、修改SecurityConfig配置开放resource/static的访问权限
  • 三、前后端打包
    • 1、执行前端打包
    • 2、后端正常打包即可
  • 四、访问验证
    • 1、IP访问
    • 2、域名访问


前言

小项目,嫌麻烦,想用vue语法,但不想单独部署vue前端,希望把jar包放到服务器就行直接访问前端。


一、前端修改ruoyi-ui目录中vue.config.js

找到文件中module.exports对象中的outputDir值,修改为:

outputDir: '../ruoyi-admin/src/main/resources/static',

原来
修改后

二、后端修改

1、ruoyi-admin模块修改

1.1、修改pom

在build节点中加入以下代码

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>static/**</exclude>
        </excludes>
    </resource>
    
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>static/**</include>
        </includes>
    </resource>
</resources>

完整build配置,仅供参考

<build>
     <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
             <version>2.5.15</version>
             <configuration>
                 <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
             </configuration>
             <executions>
                 <execution>
                     <goals>
                         <goal>repackage</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>
         <plugin>   
             <groupId>org.apache.maven.plugins</groupId>   
             <artifactId>maven-war-plugin</artifactId>   
             <version>3.1.0</version>   
             <configuration>
                 <failOnMissingWebXml>false</failOnMissingWebXml>
                 <warName>${project.artifactId}</warName>
             </configuration>   
        </plugin>   
     </plugins>
     <finalName>${project.artifactId}</finalName>
     
     <!--新加代码-->
	<resources>
         <resource>
             <directory>src/main/resources</directory>
             <filtering>true</filtering>
             <excludes>
                 <exclude>static/**</exclude>
             </excludes>
         </resource>
         
         <resource>
             <directory>src/main/resources</directory>
             <filtering>false</filtering>
             <includes>
                 <include>static/**</include>
             </includes>
         </resource>
     </resources>
</build>

1.2、修改SysIndexController

index()方法接口注释掉
在这里插入图片描述

2、ruoyi-framework模块修改

2.1、修改SecurityConfig配置开放resource/static的访问权限

.antMatchers(HttpMethod.GET,"/static/**").permitAll()

在这里插入图片描述

三、前后端打包

1、执行前端打包

npm run build:stage

或者

npm run build:prod

前端打包完成后,资源文件已存放在后端ruoyi-admin模块resources/static目录中
在这里插入图片描述

2、后端正常打包即可

略过

四、访问验证

1、IP访问

IP:PROT

2、域名访问

nginx server配置

server {
	listen 80;
	server_name  你的域名;
	
    location / {
       	proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://127.0.0.1:你的后端服务端口;
   }

    location /index {
        proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://127.0.0.1:你的后端服务端口/;
   }

    location /prod-api/{
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://127.0.0.1:你的后端服务端口/;
	}
	
    location /stage-api/{
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://127.0.0.1:你的后端服务端口/;
	}
}



http://www.kler.cn/a/384037.html

相关文章:

  • Group By、Having用法总结(常见踩雷点总结—SQL)
  • 协程5 --- 栈切换
  • Rust常用数据结构教程 Map
  • Java学习路线:Maven(二)scope、optional和exclusions
  • 【React】JSX规则
  • 字符串接龙 /单词接龙 (BFs C#
  • 使用python向钉钉群聊发送消息
  • FebHost:.COM域名对于初创科技公司的优势
  • Java学习笔记运算符学习
  • 快速学习Python框架FastAPI
  • Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
  • Ethernet 系列(8)-- 基础学习::ARP
  • 立体视觉的核心技术:视差计算与图像校正详解
  • mac crontab 不能使用问题简记
  • 随机采样之接受拒绝采样
  • 页面分布引导新手指引(driver.js+vue3)
  • 《化学进展》
  • 【青牛科技】D1084 5A低压差电压调整器应用方案
  • 【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
  • CSS Grid 布局在 IE 中不兼容的原因与解决方案
  • R包下载太慢安装中止的解决策略-R语言003
  • Caffeine Cache解析(三):BoundedBuffer 与 MpscGrowableArrayQueue 源码浅析
  • AWS账号注册费用详解:新用户是否需要付费?
  • 国土空间规划实景三维智能可视化分析平台
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 实现word文件在线留痕
  • tensorflow代码解读和Transformer解析