前言
虽然前后端分离是现在主流的开发模式,但是我不认为前后端分离就意味着前后端部署,部署的时候也可以将前端打包后的资源文件放在jar包里,成为后端的一部分。
angular打包
首先使用angular-cli的打包命令去编译angular文件
ng build --configuration production
然后将输出的静态资源文件资源拷贝到spring boot中resources/static
目录下。
接下来在resources/static
目录下新建error
文件夹,将index.html文件拷贝进去error
文件夹,并重命名为404.html。这一步的目的是当angular项目使用h5路由, spring boot不能正确响应的问题。
如果你的angular项目是放在src/main/angular
目录下,可以使用以下的脚本:
echo "build web application"
cd src/main/angular \
&& yarn \
&& ng build --configuration production --output-path ../resources/static \
&& cd ../../../
echo "copy web application to resources"
cd src/main/resources/static \
&& mkdir error \
&& cp index.html error/404.html \
&& cd ../../../../
spring boot
这个时候就可以打包spring boot代码。
对于maven:
mvn clean install package -Dmaven.test.skip=true
对于gradle:
gradle build -x test
demo
这是我写的demo