2010-09-15 40 views
7

我想知道在node.js之上创建框架需要什么步骤。 我相信这可以成为学习的好方法,这就是我为什么这么做的原因!关于在JavaScript中创建微框架的建议

我一直在检查其他微框架和更大的框架,但我无法理解从哪里开始。我希望你对此有所建议。谢谢。

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

+0

的微架构做什么? – MooGoo 2010-09-15 17:32:36

+0

@MooGoo:因为他在说服务器端代码,所以它可能是一个MVC或MVVM框架。像Rails或Django或Catalyst。 – slebetman 2010-09-15 18:38:27

+0

是的,这是正确的。 – donald 2010-09-15 18:39:24

回答

5

对于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的异步文件I/O的机会。
  • 增加支持更复杂的模型 - 重复项目/阵列,包含对象的对象
  • 为模板添加支持模板内
  • 从外部数据源获取您的模型。 CouchDB可能很有趣。
  • 添加适当的控制器 - 这些对象应该知道哪些型号与观点去以及如何将它们拼接在一起
  • 地图您的Http请求的URL的控制器和动作 - /人/ 55可能与您的数据获取ID为55人版本库/ person/add可能会调出一个用户界面来添加一个人 - 两者都使用一个人员控制器,并显示相应的操作视图。

看一看mustache.js为小模板引擎。注意他们的术语与我的例子和代码不同。我称之为视图,他们称模板和我称之为模型,他们称视图。这是一件小事,但可能令人困惑。

其他资源:

+0

哇,非常好的评论!你有什么资源可以帮助我更好地学习这些吗?如果没有任何JavaScript相关,也许与Sinatra有关,Rails可能会有所帮助!谢谢Corbin。 – donald 2010-09-15 22:08:08

+0

@donald - 添加了一个大型的节点模块列表。玩的开心。 – 2010-09-15 22:21:01