2
var templatePath = require('../templatePath');
var controllerPath = require('../ControllerPath');

$scope.loadNgModules = function(templatePath, controllerPath) {
    var files = [];
    if (templatePath) files.push({ type: 'html', path: templatePath });
    if (controllerPath) files.push({ type: 'js', path: controllerPath});
    if (files.length) return $ocLazyLoad.load(files)
};

ocLazyLoad当我使用 webpack 进行缩小时不起作用。因为我猜 ocLazyLoad 只接受模板和控制器的路径,但 webpack 将模板和控制器捆绑到单个缩小文件中,因此无法加载。

Webpack 插件名称: uglifyjs-webpack-plugin'

有没有办法使用 ocLazyLoad. 来解决这个问题? 除了考虑路径之外,我可以加载一串模板和控制器文件吗?

4

1 回答 1

1

根据我的理解,基本上 ocLazyLoad 只接受脚本和模板文件的路径

所以我已经通过使用解决了这个问题$templateCache

if (angular.isString(templatePath) && templatePath.length > 0) {
angular.forEach(angular.element(templatePath), function (node) {
    if (node.nodeName === "SCRIPT" && node.type === "text/ng-template") {
        $templateCache.put(node.id, node.innerHTML);
    }
});

}

希望这对某人有帮助:-)

于 2018-07-05T10:12:21.567 回答