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来做,你所需要做的只是在你的项目中使用这个库,并使你的应用程序结构像他所要求的那样