build议在JavaScript中创build一个微框架
我想知道在node.js之上创build一个框架需要什么步骤。 我相信这可以是一个很好的学习方式,这就是为什么我这样做!
我一直在检查其他微型框架和更大的框架,但我无法理解从哪里开始。 我想就此提出你的build议。 谢谢。
编辑:像Sinatra,Merb,Rails的MVC框架。
对于一个MVC框架,基本的概念是这样的(原谅简单):
var view = 'I say, "{{first}} {{second}}".'; var model = { first: 'hello', second: function(){ return 'world'; } }; for(item in model){ var regex = new RegExp('{{' + item + '}}', 'gi'); if(typeof(item) == 'function') view = view.replace(regex, model[item]()); else view = view.replace(regex, model[item]); } console.log(view);
尽可能简单地开始并添加小的增强:
- 将视图/模板存储为文件。 这让你有机会玩node.js的asynchronous文件I / O。
- 添加对更复杂模型的支持 – 重复项目/数组,包含对象的对象
- 添加对模板内的模板的支持
- 从外部数据源获取模型。 CouchDB可能很有趣。
- 添加适当的控制器 – 这些对象应该知道哪些模型与哪些视图以及如何将它们缝合在一起
- 将您的Http请求url映射到控制器和操作 – / person / 55可能会从您的数据存储库中获取ID为55的人,/ person / add可能会调出一个UI来添加一个人 – 两个人都使用一个人控制器,适当的行动。
看一下小模板引擎mustache.js 。 注意他们的术语与我的例子和代码不同。 我称之为视图 ,他们称之为模板 ,我称之为模型 ,他们称之为视图 。 这是一件小事,但可能令人困惑。
其他资源:
- 一个巨大的节点模块列表 。 包括模板,数据库,路由和完整的框架。
- MVC与Node.js – 哪些模块?
- Root.js:Node.js的骨架MVC框架