与Pytho的SimpleHTTPServer,Node.js的serve不同,serve2是一个支持动态文件的工具,前者们只支持静态文件,而serve2支持编写代码动态处理和返回http请求。
常常我们可能会有这样的需求场景:无论是在开发时还是尝试某个框架时,往往需要处理请求参数、Cookies、Httpheaders等,这样简单的静态文件服务器便无法满足这种需求了。
于是serve2便应运而生了,基于Tj的serve开发,使用起来跟一般的静态文件服务器相同,执行一条命令即可。详细的用法介绍如下。
1.下载安装pm istall -g serve22.使用运行λserve2--help Usage:serve2[optios][dir] Optios: -h,--help outputusageiformatio -V,--versio outputtheversioumber -a,--auth<user>:<pass> specifybasicauthcredetials -F,--format<fmt> specifythelogformatstrig -p,--port<port> specifytheport[3000] -H,--hidde eablehiddefileservig -S,--o-stylus disablestylusrederig -J,--o-jade disablejaderederig --o-less disablelesscssrederig -I,--o-icos disableicos -L,--o-logs disablerequestloggig -D,--o-dirs disabledirectoryservig -f,--favico<path> servethegivefavico -M,--mocks<path> mockfilesdirectory --cookies addcookiesparsesupport -C,--cors allowscrossorigiaccessservig --compress gzipordeflatetherespose --exec<cmd> executecommadoeachrequest 3.模拟后端准备一个文件夹,如mock,然后启动的时候用-M参数指定。此目录下即为动态文件目录,可以模拟后端请求处理。如:
// mock/test.js module.exports = fuctio(req, res, ext) { var query = req.query; var reqBody = req.body; // ... res.ed(query.hi);}则请求:
https://localhost:3000/test?hi=hello
https://localhost:3000/test.js?hi=hello
都将返回hello。js文件中的函数即是coect的中间件函数形式。
另外,也可以是jso或其它文本文件,甚至可以是目录:
4.代理功能当某个HTTP请求我们希望转发给服务器来处理时,可以在工作目录下创建一个文件名为proxylist.jso,内容格式如下:
{ "/": "https://www.baidu.com", "/t/180521": "https://www.v2ex.com" }启动serve2后访问https://localhost:3000/,请求即会被proxy到baidu.com。
评论