按需加载页面
上面的例子都是提前定义各个页面的页面组件,如:Index
,User
。这在规模较小的项目中没什么问题,
但当页面很多时,提前定义每个页面的页面组件,会使单文件体积过大,影响首次渲染速度。这时,按需加载各个
页面组件变得很迫切。利用webpack
或者requireJs
等工具可以很方便地实现页面根据路由按需加载。
我们只需要将上例中的路由配置routes
更改为(假设文件放在pages
目录下):
var router = Router({
'/': function() {
// 按需加载页面组件
require(['pages/index'], function(Page) {
app.load(Page);
});
},
'/user/:userId': function(userId) {
require(['pages/user'], function(Page) {
app.load(Page, {userId: userId});
});
}
}).configure({
notfound: function() {
router.setRoute('/');
}
});