网站首屏加载空白优化
在html文件下添加自带的内容
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<script>
document.addEventListener("readystatechange", function (e) {
const webLoading = document.getElementById('web-loading');
if (e.target.readyState === 'complete') {
console.log("加载完成");
if (webLoading) {
webLoading.style.display = 'none'
}
} else {
console.log("正在加载");
if (webLoading) {
webLoading.style.display = 'flex'
}
}
})
</script>
<style>
.web-loading {
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
display: none;
background-color: #fff;
z-index: 10000;
}
.web-loading-container {
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
}
.web-loading-container-logo {
width: 90px;
height: 90px;
margin-bottom: 20px;
}
.web-loading-container-title {
display: flex;
margin-top: 30px;
font-size: 30px;
color: rgba(0, 0, 0, .85);
justify-content: center;
align-items: center;
}
@-webkit-keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.web-loading-container-loader-view {
display: flex;
align-items: center;
justify-content: center;
}
.web-loading-container-loader {
border-width: 5px;
border-style: solid;
border-color: gainsboro gainsboro #00bebe gainsboro;
border-radius: 50%;
width: 60px;
height: 60px;
-webkit-animation: rotate 1.5s linear infinite;
animation: rotate 1.5s linear infinite;
}
</style>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app">
<div class="web-loading" id="web-loading">
<div class="web-loading-container">
<img src="./logo.png" class="web-loading-container-logo" alt="logo" />
<div class="web-loading-container-loader-view">
<div class="web-loading-container-loader"></div>
</div>
<div class="web-loading-container-title"><%= htmlWebpackPlugin.options.title %></div>
</div>
</div>
</div>
<!-- built files will be auto injected -->
</body>
</html>