我没有后端运行角度,只是在S3中使用静态js / html文件,如何在S3内部存储为静态文件的延迟加载控制器/模块?
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://code.jquery.com/jquery-1.11.2.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.js"></script>
<script src="https://raw.githubusercontent.com/ocombe/ocLazyLoad/master/dist/ocLazyLoad.js"></script>
</head>
<body>
<h3>Lazy load succeded if you can see 'Hello world' below</h3>
<div id="example" ng-app="LazyLoadTest" ng-controller="TestController"></div>
<script>
angular.module("LazyLoadTest", ["oc.lazyLoad"])
.controller("TestController", function($scope, $ocLazyLoad, $compile) {
$ocLazyLoad.load("https://github.com/ocombe/ocLazyLoad/raw/master/examples/simpleExample/js/testApp.js").then(function() {
console.log('loaded!!');
var el, elToAppend;
elToAppend = $compile('<say-hello to="world"></say-hello>')($scope);
el = angular.element('#example');
el.append(elToAppend);
}, function(e) {
console.log('errr');
console.error(e);
})
});
</script>
</body>
</html>
&#13;
我知道ocLazyLoad,但仅适用于角度1
答案 0 :(得分:0)
Angular 4+在路线中内置了延迟加载选项。 Angular.io文档有助于解释如何在此处完成此任务。
https://angular.io/guide/lazy-loading-ngmodules
请记住,Angular 4+讨论&#34;预加载&#34;,这可能是您在上面显示的解决方案。这意味着在初始加载之后,所有其他模块也将排队等待加载。你可以在这里阅读。
https://angular.io/guide/router#preloading-background-loading-of-feature-areas
从AWS s3存储桶提供服务 - 您可以使用Angular CLI创建一个角度应用程序,然后使用&#34; ng build --prod&#34;构建dist文件,并将它们放入存储桶中。然后,每当调用索引文件时,它将使用延迟加载来引导Angular 4+应用程序的其余部分。
可以在此处找到入门指南。