【发布时间】:2019-08-03 20:04:19
【问题描述】:
我们的一些脚本包含在 index.html 中,一些存在于 scripts 标签下的 angular.json 文件中。 为了提高页面速度,我添加了延迟标签并重新排序了脚本以正确执行。
index.html:(在body标签下)
<body>
<script type="text/javascript" src="app/assets/js/jquery.min.js"></script>
<script type="text/javascript" src="app/assets/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="app/assets/js/pixel-admin.min.js"></script>
<script type="text/javascript" src="app/assets/js/jquery.slimscroll.min.js" defer></script>
<script type="text/javascript" src="app/assets/js/select2.full.min.js" defer></script>
<script type="text/javascript" src="app/assets/js/bootstrap.min.js" defer></script>
<script type="text/javascript" src="app/assets/js/bootstrap-tabdrop.min.js" defer></script>
<app-root>
<div class="page-loader" id="loader" style="display:block;">
<img alt="page-loader" src="app/assets/images/ajax-loader.gif" />
</div>
</app-root>
</body>
angular.json:(在脚本标签下):
"scripts": [
"src/app/assets/js/persist-all-min.js",
"src/app/assets/js/persist-min.js",
"src/app/assets/plugins/dropzone/dropzone.js",
"src/app/assets/js/loader.js",
"node_modules/datatables.net/js/jquery.dataTables.js"
]
使用上述 index.html 设置,系统工作正常,但根据 Gtmetrix 网站,页面速度降为 D(68%)。
- 如果我将延迟放在 jquery 或像素管理 js 文件上,则系统表现不佳。但页面速度提高到 B (53%)。
- 在 Angular 中保留这些脚本的最佳做法或位置是什么?
- 我可以在 angular.json 脚本中包含 defer 标记吗?
- 是否可以在任何 Angular 项目中使用的所有脚本中包含 defer 标签?如果可能的话,我该如何实现呢?
谢谢。
【问题讨论】:
-
请注意angular 6不是angular js