Skip to content

zwz1437/node-apollo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM version David deps npm download

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

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热部署问题

License

MIT

About

携程Apollo配置中心node SDK.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.5%
  • Dockerfile 2.5%