build议在JavaScript中创build一个微框架

我想知道在node.js之上创build一个框架需要什么步骤。 我相信这可以是一个很好的学习方式,这就是为什么我这样做!

我一直在检查其他微型框架和更大的框架,但我无法理解从哪里开始。 我想就此提出你的build议。 谢谢。

编辑:像Sinatra,Merb,Rails的MVC框架。

       

网上收集的解决方案 "build议在JavaScript中创build一个微框架"

对于一个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框架