node . js如何实现简单的接口服务器

  介绍

小编给大家分享一下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   null

node . js如何实现简单的接口服务器