文章目录
前言
小项目,嫌麻烦,想用vue语法,但不想单独部署vue前端,希望把jar包放到服务器就行直接访问前端。
一、前端修改ruoyi-ui目录中vue.config.js
找到文件中module.exports对象中的outputDir值,修改为:
bash
outputDir: '../ruoyi-admin/src/main/resources/static',
二、后端修改
1、ruoyi-admin模块修改
1.1、修改pom
在build节点中加入以下代码
xml
<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配置,仅供参考
xml
<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的访问权限
bash
.antMatchers(HttpMethod.GET,"/static/**").permitAll()
三、前后端打包
1、执行前端打包
bash
npm run build:stage
或者
bash
npm run build:prod
前端打包完成后,资源文件已存放在后端ruoyi-admin
模块resources/static
目录中
2、后端正常打包即可
略过
四、访问验证
1、IP访问
bash
IP:PROT
2、域名访问
nginx server配置
bash
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:你的后端服务端口/;
}
}