如何使用 node js buildpack 在 cloud foundry 上部署 angular 6 个应用程序?

How to deploy angular 6 app on cloud foundry using node js buildpack?

我想使用 nodejs buildpack 在 PCF 上部署我的 angular 6 应用程序作为独立应用程序。有没有办法在不添加 angular 通用功能的情况下做到这一点。

如果不可能,如果我使用静态 buildpack 部署我的应用程序,是否有办法读取 PCF 用户提供的环境变量?

要将它与 Staticfile buildpack 一起使用,只需要一个名为 "public" 的文件夹,其中包含所有已编译的 js/css/html 文件和一个名为 'Staticfile' 的文件。

压缩此文件夹并使用此存档将其推送到 pcf 应用程序。

your app
 - public <- folder
   - js
   - css
   - index.html
 - Staticfile <- file

静态文件使用 nginx 为您的文件提供服务并具有默认值 nginx.conf

如果您想进一步自定义 nginx 以使用 api 网关或反向代理等功能,请使用 nginx 构建包。

可以使用 nginx_buildpack 添加 url 到 nginx 配置来访问 cloudfoundry 环境变量。

在您的应用程序的根文件夹中使用 nginx.conf:

http {
  server {
    listen {{port}};    
    root public;

    location /myenv {
        return 200 '{{ env "MYENV" }}';
    }
  }
}
events {}

使用以下方式推送应用程序:

cf push <myapp> -b https://github.com/cloudfoundry/nginx-buildpack.git --no-start
cf set-env <myapp> MYENV "whatever you like"
cf start <myapp>

然后您可以使用 /myenv

从 angular 应用程序访问环境变量