页面的加载中

页面加载中,如果比较慢,怎么提醒用户体验比较好呢?

public/index.html

  [html]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!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 是否启用,如果没有启用。则进行提示。

页面的加载

  [html]
1
2
3
4
5
6
7
8
<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-01-Quick Start

打包配置

webpack 的配置比较简单:

  [js]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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