关于在JavaScript中创建微框架的建议

时间:2010-09-15 17:24:59

标签: javascript frameworks javascript-events node.js

我想知道在node.js上创建框架需要哪些步骤。 我相信这可能是一种很好的学习方式,这就是我这样做的原因!

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

编辑:MVC框架,如Sinatra,Merb,Rails。

1 个答案:

答案 0 :(得分: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请求网址映射到控制器和操作 - / person / 55可能会从您的数据存储库中获取ID为55的人,/ person / add可能会显示一个用于添加人员的UI - 两者都使用具有视图的人控制器显示适当的操作。

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

其他资源: