介绍
这是一个针对Node.js方面的ApplicatioCotext,作用于全局应用的Key-Value的Setter与Getter,并同时具有事件触发响应,重点解决在开发Node.js应用时,缺少良好应用级别的全局变量控制或者配置。
如何使用pm istall applicatiocotext --saveAPI要求var AppCotext = require('applicatiocotext');Setter&Getterset([key,]value)
key{Strig},Optioal:键,形式为'a.b.c'
value{AyType}:如果没有key参数,那么这里可以使用原型对象,但是千万要注意的是原型对象中的key绝对不能是'a.b.c'这样的结构,否则get会返回udefied
AppCotext.set("userame","Jimmy Sog"); cosole.log(AppCotext.get("userame")); //Use Plai Object like this AppCotext.set({ sessio : { ame : "user", expire : 3000 }, // do ot ame key that look like 'a.b.c', it's error "local.ame" : "good" }); cosole.log(AppCotext.get("sessio.ame")); // output : user cosole.log(AppCotext.get("local.ame")); // output : udefiedget(key)
key{Strig}:e.g AppCotext.get('userame'); or AppCotext.get('sessio.ame')
remove(key)
key{Strig}:e.g AppCotext.remove('userame'); or AppCotext.remove('sessio.ame')clear()
RemoveAlldataEveto(key,listeer)
// 为某个键添加监听 AppCotext.o('sessio.ame',fuctio(value,message){ // 这里的value是key对应的值,而message是触发事件时可选的消息 cosole.log("the value is ",value); cosole.log("ad extra message is ",message); });emit(key,message)
// 触发事件时,传递的如下的消息 AppCotext.set('sessio.ame','Freema'); AppCotext.emit('sessio.ame','hi, there is extra iformatio, just tell you the sessio.ame value is chaged');off(key[,listeer])
// Remove the specified listeer for 'sessio.ame' AppCotext.off('sessio.ame',listeer); // Remove all listeer for 'sessio.ame' AppCotext.off('sessio.ame');
评论