在开发前端应用时,我们经常需要使用一些外部资源,例如数据库、服务端接口等。而这些资源的地址常常会改变,我们需要不断手动修改运行时环境的变量,这非常繁琐。为了解决这个问题,我们可以使用 cfenv 这个 npm 包。
cfenv 是什么
cfenv 是一个用于管理运行时环境变量的 npm 包,它可以方便地获取当前应用运行在哪个平台上,并获取相应的环境变量。
安装
你可以在你的项目中使用 npm 安装 cfenv。
npm install cfenv
使用方法
加载 cfenv
var cfenv = require('cfenv');
获取当前应用运行的平台信息
var appEnv = cfenv.getAppEnv();
appEnv
变量包含以下信息:app
: 当前应用的名称port
: 当前应用的端口号bind
: 当前应用监听的 IP 地址urls
: 当前应用暴露的 URL 地址
获取后台服务的地址信息
var serviceInstance = appEnv.getServiceInstance(serviceName); var serviceCredentials = serviceInstance.credentials;
serviceName
是你在 Cloud Foundry 上绑定的服务名称,例如:-- -------------------- ---- ------- - ----------- - - ------- --------------------- -------- ---------- ------- ------------ ------- -------- -------------- - ------ ------------------------------------------ - - - -
要获取
my-mongodb-service
这个服务的地址信息,应该使用以下代码:var serviceInstance = appEnv.getServiceInstance("my-mongodb-service"); var serviceCredentials = serviceInstance.credentials; var mongodbUri = serviceCredentials.uri;
示例代码
-- -------------------- ---- ------- --- ----- - ----------------- --- ------ - ------------------ ------------------------ ----- - - ------------- ------------------------ ---- - - ------------ ------------------------ ----- - - ------------- --- --------------- - ------------------------------------------------ --- ------------------ - ---------------------------- --- ---------- - ----------------------- -------------------- ---- - - ------------
结论
使用 cfenv 可以方便地获取运行时环境变量,避免手动修改运行时环境的繁琐。本文介绍了如何使用 cfenv 以及获取后台服务的地址信息。如果你正在开发一个云原生应用,那么不妨尝试使用 cfenv。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64936