辅助函数和自创对象的命名约定

时间:2014-04-02 08:52:50

标签: javascript backbone.js directory-structure

我有以下Javascript文件夹结构:

- js 
    - libs 
        - Backbone 
        - Underscore 
        - Require 
        - Etc 
    - models 
    - templates 
    - views 
    - app.js 
    - main.js 
    - router.js 

为了避免使用回调函数使前端路由器混乱,理想情况下我想将功能委派给外部模块,并且每条路径最多有1行代码。通过这种方式,我保持一个非常简洁的概述,当代理功能发生变化时,我绝不应该再次触摸路由器。

例如:

var Router = Backbone.Router.extend({ 

    /* --- 1. Route management --- */ 

    routes: { 
        '': 'landing_page', 
        '(/)login': 'auth_redirect', 
        '(/)home': 'auth_redirect' 
        }, 
    landing_page: function(){ 
        this.navigate("/login", {trigger:true}); 
    }, 
    auth_redirect: function(){ 
        //Checks if the user is authenticated; 
        //Returns either "true" or "false" 
        $.get('/ingeb/api_v1/auth', _.bind(function(response){ 
            var success = $.parseJSON(response)['success']; 
            if (success === false){ 
                this.renderView(Login_view); 
            }else if(success === true){ 
                this.renderView(Home_view); 
            }; 
        }, this)); 
    }, ... 

我想委托处理身份验证检查和重定向到外部模块的代码。我想对辅助函数做同样的事情,我可以在整个应用程序中将其称为静态方法(无需实例化)。

由于我的文件夹结构现在非常干净,我想保持这种方式。

  

有没有最好的做法来订购这些:

     
      
  • 委派对象;
  •   
  • 辅助功能;
  •   
     

在干净的文件夹结构中?

1 个答案:

答案 0 :(得分:0)

以下是yeoman生成的app文件夹层次结构的样子

.
├── bower_components
├── images
├── scripts
│   ├── collections
│   ├── helpers
│   ├── lib
│   ├── models
│   ├── routes
│   ├── templates
│   ├── vendor
│   ├── views
│   └── main.js
└── styles
    └── fonts