npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@lml_taf/taf-config

v2.3.3

Published

TAF 框架中用于获取服务配置文件

Downloads

3

Readme

这个模块主要是node来调用taf.tafconfig.ConfigObj这个taf服务(这个taf服务的jce见Config.jce),来加载taf配置文件等操作。 支持set的配置项拉取,不过由于tafconfig的服务本身有坑,在拉取列表的时候,set必须传空,但是拉具体内容的时候,set又必要传真实的值,这个在代码里面有注释。

How to use:

install

本模块发布在公司内部NPM镜像,NPM镜像参数设置的方法请参考KM文档(内部 Node.JS NPM 镜像使用方法 )。

设置好NPM参数之后,使用如下命令安装模块:

npm install taf-config

require

	var tafConfigHelper = require("taf-config");

创建taf-config-helper对象

var helper = new tafConfigHelper(options);

options

非必填参数。如果不传的话,相当于{tafConfigFile:process.env.TAF_CONFIG} 在taf平台上面调用此模块的话,是不需要传这个参数的。

app taf app名称。 eg:TRom

server 服务名称。eg:flippedManagerServer

tafConfigObjProxyName taf.tafconfig.ConfigObj这个服务的地址,这个参数主要是为了本地代理测试的。eg: taf.tafconfig.ConfigObj@tcp -h 10.147.23.174 -p 8080 -t 60000 使用这个值,可以直接在本地调用到TAF服务

需要注意的是:本地使用代理的时候,拉取taf配置项列表必须指定host,否则返回列表为空。 eg: helper.getConfigList({host:"10.147.26.99"}); helper.getAllConfigData({host:"10.147.26.99"})

方法调用

事先说明,以下几个方法调用,configOptions可以是一个object,包含以下参数。

struct ConfigInfo
{
	//业务名称
	0 require string appname;
	//服务名称
	1 require string servername;
	//配置文件名称
	2 require string filename;
	//是否只获取应用配置,默认为false,如果为true则servername可以为空
	3 require bool bAppOnly=false;
	//服务所在节点(ip)
	4 optional string host;
	//set分组名称
	5 optional string setdivision;
};

loadConfig(configOptions)

获取配置文件内容,这里返回的是一个 promise对象,直接可以用then进行链式操作。

@param configOptions {string/object} taf配置文件名或者一个Object(见上面configOptions说明)

 helper.loadConfig("flippedManagerServer.conf").then(function (data) {
  console.log("loadConfig back", data);
}, function (err) {
  console.log("loadConfig err", err);
}).done();

getConfigList(configOptions)

获取配置文件列表,这里返回的是一个 promise对象,直接可以用then进行链式操作。

@param configOptions {string/object} taf配置文件名或者一个Object(见上面configOptions说明),也可以不传,那么就直接使用默认的app和server。

@return 返回一个数组

    helper.getConfigList().then(function (configList) {
    //configList是一个数组
    console.log("examples:getConfigList back", configList);
  },
  function (err) {

    console.log("getConfigList error", err);
  }).done();

getAllConfigData(configOptions)

这个接口比较常用,获取配置文件列表以及配置项的内容,这里返回的是一个 promise对象,直接可以用then进行链式操作。

@param configOptions {string/object} taf配置文件名或者一个Object(见上面configOptions说明),也可以不传,那么就直接使用默认的app和server。

@return 返回一个Object,key是文件名,value是文件内容

    helper.getAllConfigData().then(function (configDatas) {
    console.log("examples:getAllConfigData back", configDatas);

  },
  function (err) {

    console.log("getAllConfigData error", err);
  }).done();

loadServerObject(configOptions)

加载服务默认的配置项,并且转换为json,这里返回的是一个 promise对象,直接可以用then进行链式操作。

@param:configFormat {string} "c":c++格式的配置项,默认值。"json":配置项是json格式的

@return 返回一个Object,key是文件名,value是文件内容


helper.loadServerObject().then(
  function (serverObject) {
    console.log("serverObject", serverObject);

  }
).done();

事件支持:

configPushed

从taf配置平台push配置文件的时候,将触发此事件,回调有两个参数

1.push的文件名

2:更改后的文件内容

    var helper = new tafConfigHelper();
helper.on("configPushed", configPushed);

function configPushed(file, content) {
  console.log("config pushed", file, content);
}

可以看examples里面的例子看使用方法