页面的加载中
页面加载中,如果比较慢,怎么提醒用户体验比较好呢?
public/index.html
<!DOCTYPE html>
<html>
<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">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<style>
</style>
</head>
<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="visual-loading-container">
<svg viewBox="0 0 50 50" class="visual-loading-svg">
<circle cx="25" cy="25" r="20" fill="none" class="visual-circle-path"></circle>
</svg>
<p>正在努力加载页面,请耐心等候...</p>
</div>
</div>
</body>
</html>
script
这里首先校验了页面的 js 是否启用,如果没有启用。则进行提示。
页面的加载
<div id="app">
<div class="visual-loading-container">
<svg viewBox="0 0 50 50" class="visual-loading-svg">
<circle cx="25" cy="25" r="20" fill="none" class="visual-circle-path"></circle>
</svg>
<p>正在努力加载页面,请耐心等候...</p>
</div>
</div>
打包相关内容参见:
打包配置
webpack 的配置比较简单:
const CompressionPlugin = require('compression-webpack-plugin')
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
publicPath: isProd ? '/idrag/' : './',
configureWebpack: () => {
if (isProd) {
return {
plugins: [
new CompressionPlugin({
test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型
threshold: 10240, // 归档需要进行压缩的文件大小最小值,这个对 10K 以上的进行压缩
deleteOriginalAssets: false, // 是否删除原文件
}),
],
}
}
},
}
参考资料
https://blog.csdn.net/m0_60559048/article/details/123359788