Node.js实现简单的接口服务器的实例代码
通过Node.js来实现接口服务器的功能。主要特点为:
1) 增加接口不需要重启
2) 异步执行,但接口阅读的时候是同步的代码(从上而下),或者可以按需求并行,串行
这里只是抛出基本思路,所以使用GET,也没有加密之类的
首先启动监听端口,配置好访问规则。(通过识别特定网址,动态执行相应的接口脚本)
- | -仓鼠Servlet | - command3G | - login.js //登录脚本(这里只是简单演示)| - server.js(主启动脚本)| - dbutil(数据库操作)server.js
var $=require(' jquery ');var _=必选('下划线');var VM=require(' VM ');var fs=require(' fs ');var travel=required(' travel ');var async=require(' async ');var dbutil=require(' ./dbutil ');字符串。原型。全部替换=功能(S1,S2){ var demo=this while(演示。指数(S1)!=- 1) demo=demo.replace(s1,S2);返回演示;} //创建一个路由器var路由器=新(旅程。路由器);//创建路由表router.map(函数(){ //this.root.bind(函数(req,RES){ RES . send('欢迎')});这个。get(/仓鼠Servlet\/(\w*\W*\w*)*/).bind(function(req,res,id){ var runJsPath=this。请求。网址。路径名。全部替换('/仓鼠Servlet ',' ')' .js ';console.log('执行的脚本文件: ' runJsPath);//传入的绑定变量var sandbox={ req: req,res: res,$: $,dbutil: dbutil,async: async,console : console };fs.readFile(' ./仓鼠Servlet' runJsPath,函数(err,data) { vm.runInNewContext(data,sandbox,' my file。VM’);});});this.post('/^hamstrerservlet\/(\w*)$/)').绑定(函数(请求、资源、数据){资源发送(200);});});需要(“http”).createServer(函数(请求,响应){ var body=request . addlistener(' data ',function(chunk){ body=chunk });request.addListener('end ',function(){ router。句柄(请求,正文,函数(响应。写磁头(结果)。状态,结果。标题));回应。结束(结果。身体);});});}).听(8080);dbutil.js
var MySQL=require(' MySQL ');//导入MySQL模块var池=MySQL。创建池({ host : ' 192。168 .140 .237 '、user: 'root '、password: '123456 '、数据库: ' command 3g ' });//查询结构化查询语言语句函数查询(strSQL,param,回调){ pool.getConnection(函数(错误,连接){连接。查询(strSQL,param,函数(err,row,field){ if(err)throw err;回调(行、字段);连接。end();//连接。销毁();});});} exports.query=querylogin.js
控制台。log(' beijin ');//并行处理,相当于2个地图最后再做一个ReReduce async.parallel([函数(回调){ //从数据库中获取当前时间dbutil。查询('选择CURTIME()作为日期',空,函数(行,字段){回调(null,行[0])。DATE);});},函数(回调){ //随便返回一个值回调(null,)中文测试');} ],函数(错误,结果){控制台。日志(结果);var retVal={ ' currentTime ' :结果[0],' desc':结果[1]};发送正文。stringify(retVal));});node server.js启动后通过访问http://localhost :8080/仓鼠servlet/命令3g/登录
就会输出:
这个时候修改login.js都会及时生效,不需要重新启动服务器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:Node.js实现简单的接口服务器的实例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。