javascript - 链接字体、css和JavaScript文件的最佳顺序是什么
问题描述
我已经建立了一个我目前托管的静态网站
我在下面的 html 代码中给出了当前链接 css、JavaScript 和所有其他文件的顺序
如果有人能确认我是否将它们都放在最理想的地方,我将不胜感激。考虑最佳加载速度和可能的覆盖。不只是关于安置,也欢迎任何提高整体表现的建议。
如您所见,我的 html 中总共发生了 9 个链接,让我简要介绍一下它们
Head - 1) Google Font 2) My Main CSS File 3) Font Awesome Css 文件 4) Jquery Library 5) 模态窗口的 JS 文件 6) 导航栏的 JS 文件
正文 - 您在底部看到的那 3 个也与导航栏有关
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Website Name</title>
<link href="https://fonts.googleapis.com/css?family=Lato|Raleway&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="js/modal.js"></script>
<script src="js/responsive-nav.js"></script>
</head>
<body>
< -- Content -->
<script src="js/fastclick.js"></script>
<script src="js/scroll.js"></script>
<script src="js/fixed-responsive-nav.js"></script>
</body>
</html>
解决方案
CSS 和 JavaScript 文件完全独立运行;首先加载 CSS 文件或 JavaScript 文件在性能方面绝对没有任何区别。
尽管如此,还是有几点值得注意:
外部 CSS 文件(如 Google 的 Fonts 和 Font Awesome)应在您自己的 CSS 文件之前加载,因为加载 CSS 文件的顺序会影响它们的特异性。你会想用你自己的 CSS 覆盖框架字体——而不是相反。
依赖于其他文件的JavaScript 文件必须在其依赖项之后加载。我假设您的一些插件依赖于 jQuery,因此您需要在这些插件之前加载 jQuery。
将
<script>
标签放在元素的底部会<body>
提高显示速度(与在 中引用它们相反<head>
),因为脚本解释会减慢显示速度。
所以,简而言之,我会推荐以下内容:
<head>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato|Raleway&display=swap">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/styles.css" />
</head>
<body>
<!-- Content -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="js/modal.js"></script>
<script src="js/responsive-nav.js"></script>
<script src="js/fastclick.js"></script>
<script src="js/scroll.js"></script>
<script src="js/fixed-responsive-nav.js"></script>
</body>
推荐阅读
- android - 无法在 Android Google Map SDK 中收听单个单独的标记点击
- image-charts - image-charts:如何控制条形宽度
- python - 如何逐个单元格地填充具有零列和循环的空熊猫数据框?
- powerbi - Power BI:DAX 公式 [SUM / DISTINCT]
- python - 无法加载动态库“libcudnn.so.8”
- wordpress - 当 should_load_separate_core_block_assets 为 tur 时 register_block_style 出错
- html - 如何自动调整较小图像的大小以适应大 div?
- android - 如何检查我是否单击外部链接并从在 xamarin 的 web 视图中打开的站点打开它
- html - Always have Active Class shown in scroll bar
- javascript - 雷达图中的可点击标签 - 带有 Vue 的 Charjs