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

don*_*ald 7 javascript frameworks javascript-events node.js

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

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

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

Cor*_*rch 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);
Run Code Online (Sandbox Code Playgroud)

尽可能简单地开始并添加小的增强功能:

  • 将视图/模板存储为文件.这使您有机会使用node.js的异步文件I/O.
  • 添加对更复杂模型的支持 - 重复项/数组,包含对象的对象
  • 在模板中添加对模板的支持
  • 从外部数据源获取模型.CouchDB可能很有趣.
  • 添加适当的控制器 - 这些对象应该知道哪些模型与哪些视图一起以及如何将它们拼接在一起
  • 将您的Http请求URL映射到控制器和操作 - /person/55可能从您的数据存储库中获取ID为55的人,/ person/add可能会显示一个用于添加人员的UI - 两者都使用人员控制器显示为适当的行动.

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

其他资源: