2014-02-08 1 views
1

어떻게이 일의 단점/장점 :이 이상장점과 라우터의 행동에 로딩 구성 요소의 단점 VS 라우터 초기화 전에

define(function(require) { 
    var $ = require('jquery'), Backbone = require('backbone'), $content = $("#content"); 

    return Backbone.Router.extend({ 
     routes: { 
      "":     "home", 
      "employees/:id": "employee" 
     }, 

     home: function() { 
      require(["app/views/Home"], function (HomeView) { 
       var view = new HomeView({el: $content}); 
       view.render(); 
      }); 
     }, 

     employee: function(id) { 
      require(["app/views/Employee", "app/models/Employee"], function (EmployeeView, Employee) { 
       var employee = new Employee({id: id}); 
       employee.fetch({ 
        success: function (data) { 
         var view = new EmployeeView({model: data, el: $content}); 
         view.render(); 
        } 
       }); 
      }); 
     } 
    }); 
}); 

:

(라인에 주목 4-6)

define(function(require) { 
    var $ = require('jquery'), Backbone = require('backbone'), $content = $("#content"); 

    var HomeView = require("app/views/Home"), 
     EmployeeView = require("app/views/Employee"), 
     Employee = require("app/models/Employee"); 

    return Backbone.Router.extend({ 
     routes: { 
      "":     "home", 
      "employees/:id": "employee" 
     }, 

     home: function() { 
      var view = new HomeView({el: $content}); 
      view.render(); 
     }, 

     employee: function(id) { 
      var employee = new Employee({id: id}); 
      employee.fetch({ 
       success: function (data) { 
        var view = new EmployeeView({model: data, el: $content}); 
        view.render(); 
       } 
      }); 
     } 
    }); 
}); 

답변

0

옵션 2 응용 프로그램이 시작될 때 (사용 여부에 관계없이) 모든 종속성을 메모리에로드합니다. 옵션 1은 경로가 호출되고 모듈이 필요할 때 즉석에서 종속성을로드합니다.

옵션 1이 나에게 좋을 것 같습니다.