Angular CLI - 为现在部署设置生产代理

Fac*_*res 5 rest angular-cli angular

我目前now.sh用于部署我的应用程序。最近,我决定将baseUrlfor 请求移到一个proxy.config.json文件中。

{
  "/api/*": {
    "target": "http://localhost:3000",
    "secure": false,
    "logLevel": "debug"
  }
}
Run Code Online (Sandbox Code Playgroud)

为了部署,now.sh我将scriptsin更改package.json为:

"start": "serve dist/ --single",
"build": "ng build --prod",
Run Code Online (Sandbox Code Playgroud)

所以,首先,我做了一个ng build.

问题是,我需要一个不同的targetfor proxy.config.json,因为我部署了一个 API 并且我想在生产应用程序中使用它

我正在考虑拥有两个文件proxy.config.dev.jsonproxy.config.prod.json,但我不知道是否可以使用cli. 问题是,我使用serve的生产和不ng serve那么proxy-config不可用。

你有什么建议?我怎样才能开始工作?

sar*_*ora 1

ngserve 使用 Angular cli,它接受代理文件配置的参数(详细信息此处:https: //github.com/angular/angular-cli/wiki/serve)。您在生产中使用的“serve”命令是另一个包(我假设这个是https://www.npmjs.com/package/serve),它不支持相同的功能集。您需要一个支持代理的 Web 服务器(例如,nginx 似乎在此处详细介绍:http://nginx.org/en/docs/beginners_guide.html#proxy),或者是代理功能的独立解决方案,可补充流行的 http 服务器包像“serve”、“http-server”、“lite-server”等一些网络设备也可以提供帮助。如果您/其他人发现使用代理托管角度应用程序的其他好选择,请分享,因为我也希望评估更多选项。