我只想用nodejs来做一个提供cgi服务的后台,根据请求的路由来调用不同的方法返回json数据给前台,但是这种怎么写呢?
发布于 9 年前 作者 hwoarangzk 8663 次浏览 最后一次编辑是 8 年前 来自 问答

不用express的话,只用node可以做到么? 我现在只知道用http创建一个服务端: http.createServer(function(req, res) { res.end(‘hello world’); }); 但是怎么根据不同的url来写不同的逻辑处理代码呢? 比如我想: svr.get(’/’, function(req, res) { //业务处理1 //返回给前台json });

  1. 不清楚怎么用nodejs根据不同的url来进入不同的处理模块
  2. 我不清楚怎么返回json给前台
  3. 在上面这段代码里,业务处理1应该是一个异步的代码吧,不然如果并发量大,就会堵塞服务器,但是怎么样把业务处理1变成异步的代码呢?直接包一层setImmediate吗? 谢谢~
7 回复

干吗不用 express ?不用的话,首先你得自己搞一套简单的路由系统出来。

论把 npm 上 Top 100 的库混个脸熟的重要性:https://www.npmjs.org/browse/depended 你的需求主要用到 express 和 async

1.var url = require(‘url’); switch(url.pathname){ case ‘/’ : do1(); case ‘/create’: do2(); … } 2.前端用HTTP Get从restful接口获得json数据。 3.是不是router后都丢给promise可以满足你的要求,我没试过做这种需求。

大家觉得用express比较方便咯? 我只是想只看只用nodejs怎么实现 我去看看express怎么搞 谢谢~

话说有人了解过这个么: http://hapijs.com/ 这个有什么特点呢? 跟express相比有什么优势劣势?

@hwoarangzk 话说我是直接被无视了吗,明明认真回答了的说,hapi,express,koa,restify这些区别优劣我觉得你google后自己动手试着写一下就知道,我只知道express资料最多

@ChopperLee2011 不好意思啊。。。我看到了你的回答的。。。只是没说出来,见谅:) 我觉得可能express资料现在比较多也比较成熟吧 还是先从express入手 我在想如果能把第三个问题明确解决了 就想试试自己做一个简单的服务器了 express里有类似解决第三个问题的方案吗?

回到顶部