node.js - VueJS 应用程序中的 Cloud Foundry VCAP_SERVICES
问题描述
我正在编写 VueJS Web 应用程序并部署到 Pivotal Cloud Foundry。我想从用户提供的 VCAP_SERVICES 中读取配置。
我尝试了两种方法来做到这一点。
- 使用 cfenv 库:但是当我这样做时,我得到
Uncaught TypeError: Arguments to path.join must be strings
了var cfenv = require('cfenv')
- 然后我尝试了手动方法来做到这一点
let vcap_services = JSON.parse(process.env.VCAP_SERVICES)
,在这个我得到 VCAP_SERVICES 未定义。
任何人都可以请帮助或建议一些东西。
解决方案
您无法VCAP_SERVICES
在客户端的浏览器中查看,这是您的 Vue.js 应用程序正在运行的位置。这是因为VCAP_SERVICES
在托管应用程序的服务器端设置了环境变量。
如果您希望它在客户端可用,则需要以某种方式公开它。要么在提供给客户端浏览器的文件中对其进行编码,要么进行 API 调用并从您的服务器请求它。
也就是说,其中的信息通常VCAP_SERVICES
是敏感的(包含密码和机密),因此您需要非常小心发送给客户端/浏览器的内容。您发送到客户端/浏览器的任何内容都将对客户端/浏览器及其人类用户可见。简而言之,通过浏览器使用您的应用程序的人也可以看到该信息,例如通过浏览器开发工具。
推荐阅读
- node.js - 这是在节点 js 中导出的一种写入方式吗
- python - 定期重启 Python 多处理池
- python-3.x - 在 Python 中使用 pyproject.toml 和 setup.cfg 导入自定义模块
- php - 错误消息 此路由不支持 GET 方法。支持的方法:POST
- c# - 是否在 VS-2022 和 DotNet6 的 blazor webassembly 项目中启用了热重载?
- laravel - 从 laravel 中的多个表中选择
- linux - 无法使用 docker 文件在 debian 容器中安装 SIMBA ODBC 驱动程序
- java - 如何使用流解决以下练习
- python - 使用 sys.argv 和 echo 输入 | 应用程序.py
- json - Arduino Json 对象重用