一般而言,前端Angualr开发,后端Springboot,都是运行在不同的服务器上面。比如前端 Apache,后端 直接Java或者其他Java容器。
但是对于简单开发,我想尝试两个同时在一个容器上执行,也就是Springboot的容器上执行
1,src : Java的代码目录
2,ngsrc : Anagular的代码目录
使用MSCode 配合Java扩展和Springboot扩展实现
1, npm run start
启动Angualr服务
2, Springboot通过MSCODE界面按钮启动,Debug等
配合ng serve -o参数 以及 launch.json,可以实现同时启动两个服务,并打开浏览器
{
"version": "0.2.0",
"compounds": [
{
"name": "Debug All",
"configurations": [
"Start APIApplication",
"Start Angular"
]
}
],
"configurations": [
{
"type": "java",
"name": "Start APIApplication",
"request": "launch",
"mainClass": "com.exp.springboot.api.APIApplication",
"projectName": "api_services"
},
{
"type": "node-terminal",
"command": "npm run start",
"request": "launch",
"name": "Start Angular",
},
],
}
1, ng build
编译Angualr代码,直接部署到 src/main/resources/static 目录
2, 使用Maven打包,maven clean package
直接打包到成果JAR
TODO, 上述两部一次处理
1,Angular 测试
Run ng test
to execute the unit tests via Karma.
2, Springboot 测试
执行 mvn test
,会运行 src/test/ 下所有的测试用例
TODO, 上述两部一次处理
1,通过Angular的environment的配置,实现可以4200端口编辑的同时;8080端口也可以运行Springboot服务端 export const environment = { production: false, apiUrl: 'https://akechi1980-curly-tribble-pj9q6r7pjxrh6vx9-8080.preview.app.github.dev' };
export const environment = {
production: true,
apiUrl: ''
};
apiUrl: '' 真实运行时;使用同一站点 /api/下的RESTAPI服务所以直接空 前端开发使用4200,build之后,8080执行
2,为了开发方便CORS设定了*, corsConfiguration.addAllowedOrigin("*"); //因为Angular开发时候4200端口,站点不符, !codespace需要把8080API端口Public出来 !真实部署可以使用特定域名,或者删除这个配置,相当于同站点同端口
3,简易内存数据库特定表CRUD操作 OK
4,尽量优化Angular类 OK
5,追加了Tailwind CSS美化样式
6,追加了Springboot集成测试用例