1.2.1 • Published 7 years ago
node-apollo v1.2.1
node-apollo
携程Apollo配置中心node SDK.
Install
$ npm i node-apollo --save-dev
Node.js >= 6.0.0 required.
Features
- ✔︎ 适用eggjs(egg-apollojs), thinkjs等docker部署项目
- ✔︎ 适用自己手动搭建的服务,可直接读取JSON格式的配置
Usage
- See examples
Methods
apollo# remoteConfigServiceFromCache(config)
const config = {
configServerUrl: 'http://example.com',
appId: '<appId>',
clusterName: 'default',
namespaceName: [ 'namespaceName1', 'namespaceName2' ], // n1的配置会被n2配置覆盖
// clientIp: '',
};
const result = await apollo.remoteConfigServiceFromCache(config);
NOTE: 通过带缓存的Http接口从Apollo读取配置,详情请参考Apollo开放平台.
apollo#
remoteConfigServiceSkipCache(config)
const config = { configServerUrl: 'http://example.com', appId: '<appId>', clusterName: 'default', namespaceName: [ 'namespaceName1', 'namespaceName2' ], // n1的配置会被n2配置覆盖 // clientIp: '', // optional // releaseKey: '', // optional }; const result = await apollo.remoteConfigServiceSkipCache(config);
NOTE: 通过不带缓存的Http接口从Apollo读取配置,详情请参考Apollo开放平台.
apollo#
remoteConfigService(config)
const config = { configServerUrl: 'http://example.com', appId: '<appId>', clusterName: 'default', namespaceName: '', //no surport multi namespace name, optional apolloEnv: 'dev', token: '<apollo access token>', // required // clientIp: '', }; const result = await apollo.remoteConfigService(config);
NOTE: 读取携程Apollo配置,调用第三方应用接入Apollo开放平台, 详情请参考Apollo开放平台.
apollo#
createEnvFile(envConfig)
const envConfig = { mongoose: 'mongo://127.0.0.1:27017', appId: '<appId>', }; apollo.createEnvFile(envConfig);
NOTE: 生成环境变量文件,常用于docker化项目,详细请参考example.
apollo#
setEnv()
apollo.setEnv();
NOTE: 注入环境变量到process.env, 详情请参考dotenv.
TODO
x 支持局部配置热更新NOTE: 不支持热更新,具体原因和方案请参考:关于eggjs热部署问题