支持node.js的快速启动Web服务调试工具:serve2

cbgd 9年前

与 Python 的 SimpleHTTPServer,Node.js 的 serve 不同,serve2 是一个支持动态文件的工具,前者们只支持静态文件,而serve2支持编写代码动态处理和返回http请求。

常常我们可能会有这样的需求场景:无论是在开发时还是尝试某个框架时,往往需要处理请求参数、Cookies、Http headers等,这样简单的静态文件服务器便无法满足这种需求了。

于是serve2便应运而生了,基于Tj的serve开发,使用起来跟一般的静态文件服务器相同,执行一条命令即可。详细的用法介绍如下。

1. 下载安装

npm install -g serve2

2. 使用运行

λ serve2 --help        Usage: serve2 [options] [dir]        Options:          -h, --help                output usage information      -V, --version             output the version number      -a, --auth <user>:<pass>  specify basic auth credentials      -F, --format <fmt>        specify the log format string      -p, --port <port>         specify the port [3000]      -H, --hidden              enable hidden file serving      -S, --no-stylus           disable stylus rendering      -J, --no-jade             disable jade rendering          --no-less             disable less css rendering      -I, --no-icons            disable icons      -L, --no-logs             disable request logging      -D, --no-dirs             disable directory serving      -f, --favicon <path>      serve the given favicon      -M, --mocks <path>        mock files directory          --cookies             add cookies parse support      -C, --cors                allows cross origin access serving          --compress            gzip or deflate the response          --exec <cmd>          execute command on each request

3. 模拟后端

准备一个文件夹,如mock,然后启动的时候用-M参数指定。此目录下即为动态文件目录,可以模拟后端请求处理。如:

// mock/test.js  module.exports = function(req, res, next) {     var query = req.query;     var reqBody = req.body;     // ... res.end(query.hi);  }

则请求:

都将返回hello。js文件中的函数即是connect的中间件函数形式。

另外,也可以是json或其它文本文件, 甚至可以是目录:

支持node.js的快速启动Web服务调试工具:serve2

4. 代理功能

当某个HTTP请求我们希望转发给服务器来处理时,可以在工作目录下创建一个文件名为proxylist.json,内容格式如下:

{    "/": "http://www.baidu.com",    "/t/180521": "https://www.v2ex.com"   }

启动serve2后访问http://localhost:3000/,请求即会被proxy到baidu.com。

项目主页:http://www.open-open.com/lib/view/home/1430661421871