延迟加载多个angularjs的模块/文件?

时间:2016-01-15 05:50:30

标签: angularjs node.js browserify webpack

我的任务是使用angularjs作为前端框架的多页网站。目前,我使用browserify和npm来管理模块依赖关系,它为整个应用程序生成一个捆绑文件。但是,每个页面仅使用该捆绑文件的一部分(1个控制器文件和一些指令/服务文件)。是否可以延迟加载文件而不是一个大的捆绑文件?

我已经阅读过webpack延迟加载,但我不知道它是否符合我的要求(即自动检测和加载文件,启用npm包等)。

1 个答案:

答案 0 :(得分:0)

是。您可以在函数内使用require.ensure而不是简单的require。在这种情况下,模块将导出到其他文件中,并仅在需要时加载。这是一个例子:

function (callback) {
    require.ensure(['module'], function (require) {
        callback(require('module'));
    });
}

所以'模块'仅在第一次调用此函数时加载。