介绍
小编给大家分享一下Node . js如何实现简单的接口服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
通过节点。js来实现接口服务器的功能,主要特点为:
1)增加接口不需要重启
2)异步执行,但接口阅读的时候是同步的代码(从上而下),或者可以按需求并行,串行
这里只是抛出基本思路,所以使用,也没有加密之类的
首先启动监听端口,配置好访问规则。(通过识别特定URL,动态执行相应的接口脚本)
- - - - - - | - - - - - HamstrerServlet才能 |才能,- - - - - - command3G ,,,|,- - - - - -,login.js ,//登录脚本(这里只是简单演示) ,|——安康;server.js (主启动脚本) ,|——安康;dbutil (数据库操作)
服务器。js
var 美元,=,要求(& # 39;jquery # 39;),, var _ =,要求(& # 39;强调# 39;),, var vm =,要求(& # 39;vm # 39;),, var fs =,要求(& # 39;fs # 39;),, var journey =,要求(& # 39;旅行# 39;),, var async =,要求(& # 39;异步# 39;),, var dbutil =,要求(& # 39;。/dbutil& # 39;),, , 时间=String.prototype.replaceAll 函数(s1, s2), {, var 才能;demo =,却,能够 while 才能;(demo.indexOf (s1), !=,安康;1), 时间=demo 才能;demo.replace (s1, s2),, ,,return 演示; },//,Create a  Router var router =,新(journey.Router);, ,//,Create 从而,routing table router.map(函数(),{,//才能,this.root.bind (function (点播,res), {, res.send (“Welcome"),}),, this.get才能(/HamstrerServlet \/(\ w * \ w * \ w *) */) .bind(功能(要求的事情,,,,id), {, ,,,var runJsPath =, this.request.url.pathname.replaceAll (“/HamstrerServlet",,““), +,“.js",, ,,,console.log(“执行的脚本文件:“,+,runJsPath),, , ,,,//传入的绑定变量, ,,,var sandbox =, {, ,,,,,要求:,要求的事情,, ,,,,,res:,,, ,,,,,:美元,美元,, ,,,,,dbutil:, dbutil,, ,,,,,异步:,异步,, ,,,,,控制台:,console ,,,},, , ,,,fs.readFile (& # 39;。/HamstrerServlet& # 39;, +, runJsPath,,函数(呃,,数据),{, ,,,,,vm.runInNewContext(数据,沙箱,& # 39;myfile.vm& # 39;),, ,,,}),, , ,,}); this.post才能(& # 39;/^ HamstrerServlet \/(\ w *)/美元)& # 39;).bind(功能(要求的事情,,,,数据),{, ,,,res.send (200),, ,,}); }),, , 要求(& # 39;http # 39;) .createServer(函数(请求,响应),{, var 才能;body =,““, , request.addListener才能(& # 39;数据# 39;,,函数(块),{, ,,,body +=, chunk ,,}); request.addListener才能(& # 39;最后,,,()函数,{, ,,,router.handle(请求,,,,的函数(结果),{, ,,,,,response.writeHead (result.headers result.status也), ,,,,,response.end (result.body);, ,,,}),, ,,}); }).listen (8080),
dbutil。js
var mysql =,要求(& # 39;mysql # 39;);,//导入mysql Module , var pool =, mysql.createPool ({, ,,主持人:& # 39;192.168.140.237& # 39;,, ,,用户:& # 39;根# 39;,, ,,密码:& # 39;123456 & # 39;,, ,,数据库:& # 39;command3G& # 39;, }),, ,//查询sql语句, function 查询(strSQL,参数,,回调),{, pool.getConnection才能(函数(呃,,连接),{, ,,,connection.query (strSQL,参数,功能(呃,,行,,字段),{, ,,,,,if (err), throw 犯错,, ,,,,,回调(行,,字段),, ,,,,,connection.end (),, ,,,,,//,connection.destroy (),, ,,,}),, ,,}); }, , 查询时间=exports.query ;
登录。js
console.log (“beigin");, ,//并行处理,相当于2个地图最后再做一个ReReduce async.parallel ([, 函数(回调){才能, ,,,//,从数据库中获取当前时间, null null null null null null null null null null null null null null null null nullnode . js如何实现简单的接口服务器