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)
};
当我使用webpack进行缩小时, ocLazyLoad
无效。因为我猜ocLazyLoad只接受模板和控制器的路径,但webpack将模板和控制器捆绑到单个缩小文件中,因此无法加载。
Webpack插件名称: uglifyjs-webpack-plugin'
有没有办法用ocLazyLoad来解决这个问题。 除了考虑路径之外,我可以加载一串模板和控制器文件。
答案 0 :(得分:0)
据我了解,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);
}
});
}
希望这对某人有帮助:-)