and*_*orp 5 javascript jquery backbone.js
我正在使用骨干样板,你可以在这里找到它.
我想知道如何添加全局功能,没有明确地绑定到任何特定的集合,模型,视图等.一个例子是'注销'功能,可能如下所示:
var logout = function(){
// Clear Favorites
// Handle asynchronous logging (all in-app logs are sent to the server at logout)
// Redirect to the login page
// Do other cleanup
}
Run Code Online (Sandbox Code Playgroud)
基本上,这将处理大量的模型/收藏,包括Favorites,Events,Logs,Users,和应用程序Router
如果你查看主干 - 样板文件中的main.js文件,我一直在顶部添加这些函数(第13行),如下所示:
function(namespace, $, Backbone, Example){
// BEGIN MY APP LOGIC
namespace.app.logout = function(){
// Do logout here
};
// END MY APP LOGIC
var Router = Backbone.Router.extend({
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但应用程序逻辑很快就会失去控制.我的问题是,组织这段代码的更好方法是什么?如果我有一个Utils模块并加载了Utils模块,它会更有意义吗?
干杯!
TLDR:http://addyosmani.github.com/backbone-fundamentals/ 高级部分.
让它成为可能,然后使它美丽,然后快速.
随着您的应用程序的发展和使事情发生(可能),很明显哪些功能属于一体.将它们分成相应的模块(漂亮).
我使用require.js,但不使用backbone-boilerplate(bb也有AMD分支).我组织我的应用程序的方式正如您所描述的那样,我有一个具有通用应用程序内容的utils模块.然后我将auth,Notification和Date格式化内容添加到utils模块.然后我将utils模块包含在我懒惰的地方,并希望我的所有util函数都可用.
由于它们都只是模块/混合,我还可以在我需要的任何单个模块中包含auth/notification/date模块.