Backbone.js 主干木偶,调用路由时如何加载JS文件?

Backbone.js 主干木偶,调用路由时如何加载JS文件?,backbone.js,coffeescript,marionette,Backbone.js,Coffeescript,Marionette,这是我的路线 define [ 'apps/home/index/index' 'apps/home/edit/index' 'apps/home/about/aboutUs' 'apps/home/about/jobs' ], (HomeIndex, EditIndex, aboutUsIndex, jobsIndex) -> class Router extends Marionette.AppRouter routes :

这是我的路线

define [
    'apps/home/index/index'
    'apps/home/edit/index'
    'apps/home/about/aboutUs'
    'apps/home/about/jobs'
],
(HomeIndex, EditIndex, aboutUsIndex, jobsIndex) ->
    class Router extends Marionette.AppRouter
        routes :
            '' : 'indexPage'
            'index' : 'indexPage'
            'edit' : 'editApp'
            'aboutUs' : 'aboutUsPage'
            'jobs' : 'jobsPage'

        indexApp : () ->
            @homeIndex = new HomeIndex()
            App.contentArea.show @homeIndex

        editApp : () ->
            @homeIndex = new EditIndex()
            App.contentArea.show @homeIndex

        aboutUsPage : () ->
            @homeIndex = new aboutUsIndex()
            App.contentArea.show @homeIndex

        jobsPage : () ->
            @homeIndex = new jobsIndex()
            App.contentArea.show @homeIndex
但是当路由加载时(当它只打开索引时),它将加载所有现在不需要加载的文件

所以,我想改成这样,这样可以减少加载时间

define [
    'apps/home/index/index'
],
(HomeIndex) ->
    class Router extends Marionette.AppRouter
        routes :
            '' : 'indexPage'
            'index' : 'indexPage'
            'edit' : 'editApp'
            'aboutUs' : 'aboutUsPage'
            'jobs' : 'jobsPage'

        indexApp : () ->
            @homeIndex = new HomeIndex()
            App.contentArea.show @homeIndex

        editApp : () ->
            # LOAD 'apps/home/edit/index' file, if it has not loaded
            @homeIndex = new EditIndex()
            App.contentArea.show @homeIndex

        aboutUsPage : () ->
            # LOAD 'apps/home/about/aboutUs' file, if it has not loaded
            @homeIndex = new aboutUsIndex()
            App.contentArea.show @homeIndex

        jobsPage : () ->
            # LOAD 'apps/home/about/jobs' file, if it has not loaded
            @homeIndex = new jobsIndex()
            App.contentArea.show @homeIndex

这可能吗?如果是这样的话,我应该怎么做,请建议我。

是的,这是可能的,你可以使用Require.js来做,你所需要做的只是在你的项目中使用这个库,并使你的应用程序结构像他所要求的那样