我有一个在 http://localhost:4200/ 上运行的 Angular 应用程序和在 http://localhost:8080/ 上运行的 Spring Boot 后端 在 src 文件夹中的前端应用程序中,我创建了一个 proxy.config.json 文件,如下所示:
{
"/server": {
"target": "http://localhost:8080",
"secure": false,
"changeOrigin": true,
"logLevel": "debug",
"pathRewrite": {
"^/server" : ""
}
}
}
我已将代理添加到 package.json,如下所示:
“开始”:“ng服务--proxy-config src / proxy.conf.json”,
因此,每次发出以 /server/api/... 开头的请求时,都会将其转换为
http://localhost:8080/api/...
这在我的本地计算机上运行正常。
接下来,我已将后端应用程序部署到谷歌云应用程序引擎,一切顺利,后端已启动并在公共谷歌云地址上运行。 然后,在我的前端应用程序中,我更改了“目标”参数以指向公共云地址并再次测试我的前端应用程序(本地),一切顺利。
接下来,我构建了前端应用程序并将其部署到新的谷歌云应用程序引擎。 现在我在两个不同的 .com 地址上运行了两个应用程序和两个谷歌云应用程序引擎。
但是,前端应用程序不再与后端应用程序连接。代理配置无效,/server 不会转换为指向后端公共地址。
我已将 src/proxy.conf.json 添加到 anglat.json 文件中:
"serve": {
"builder": "@...",
"configurations": {
"options": {
"browserTarget": "...",
"proxyConfig": "src/proxy.conf.json"
},
"production": {
"browserTarget": "...",
"proxyConfig": "src/proxy.conf.json"
},
重建,重新部署,还是没有效果。
我已经在我的 app.modules.ts 中添加了
{provide: LocationStrategy, useClass: HashLocationStrategy}
重建,重新部署,仍然没有效果,除了我的URL中确实没有#。
我需要做其他配置才能使代理转换在谷歌云应用程序引擎中工作吗?
我对应用程序引擎有同样的问题,关于如何解决这个问题有什么建议吗?