将Django的URLPatterns移植到Node.js
JavaScript(18), Node-JS(3)我在概念舞台上用新的侧面项目计划(SIC),并希望使用node.js.去做吧。(主要是因为它如此难以易于部署,并且在闲置时闲置资源,如我的标准Apache2和mod_wsgi.部署配置django.)。
我非常满意[这个博客条目中呈现的配置想法] [boldr],但是通过移植[URLPatterns.py URL调度模式] [URLPatten],希望通过移植更大的Django。它最终变得非常容易。
使用调度员可以写一个意见.js.
从正则表达式中提取匹配的文件应用于URL并将其传递为功能参数。
出口。指数=功能(雷那res.){res.。写作(200.那{'内容类型':'text / html'});res.。写('index.html');res.。关闭();};出口。项目=功能(雷那res.那项目){res.。写作(200.那{'内容类型':'text / html'});res.。写('project.html:'+项目);res.。关闭();};
这里是包含模式匹配器和调度程序的主文件。
var.http.=要求(“http”)那URL.=要求(“URL”)那意见=要求(“./views”)那港口=8000.;要求(“../underscore/underscore”);var.图案=[[/ ^ / project /([\ w -_])/ $ /那意见。项目]那[/ ^ / $ /那意见。指数]];
http.。CreateServer(功能(雷那res.){雷。AddListener.('结尾'那功能(){var.小路=URL.。解析(雷。URL.)。pathname.那比赛=_。探测(图案那功能(图案){返回图案[0.]。exc.(小路);});如果(比赛){var.P.=[雷那res.]。拍((比赛[0.]。exc.(小路)))。片(1));比赛[1]。申请(这那P.);}别的{res.。写作(404.那{'内容类型':'text / html'});res.。写('找不到匹配模式');res.。关闭();}});})。听(港口);
总而言之,一个很好的小设置。我正在玩耍亩也许将于今晚或明天释放某种微框架,尽管可能与其他人已经投入时间创建的东西,但可能没有额外的价值。呃,好吧。