我有以下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));
}, ...
我想委托处理身份验证检查和重定向到外部模块的代码。我想对辅助函数做同样的事情,我可以在整个应用程序中将其称为静态方法(无需实例化)。
由于我的文件夹结构现在非常干净,我想保持这种方式。
有没有最好的做法来订购这些:
- 委派对象;
- 辅助功能;
在干净的文件夹结构中?
答案 0 :(得分:0)
以下是yeoman生成的app文件夹层次结构的样子
.
├── bower_components
├── images
├── scripts
│ ├── collections
│ ├── helpers
│ ├── lib
│ ├── models
│ ├── routes
│ ├── templates
│ ├── vendor
│ ├── views
│ └── main.js
└── styles
└── fonts