Mildom首页性能优化方案
预渲染
无需使用web 服务器实时动态编译 HTML,不需要服务器支持。在构建时 (build time) 简单地生成针对特定路由的静态HTML 文件。这个提高效果应该会比较明显。
利用
prerender-spa-plugin
,生成模板。style components
需要升级到5.x以上版本,这样才支持css提取。注意需要配置:renderAfterDocumentEvent: 'render-event',renderAfterTime: 5000
,在index.js入口处监听dom loaded,然后延迟5s触法自定义事件‘render-event’,否则无法请求到数据;生成模板的时间需要:
1
2
3
4
5
6injectProperty: '__PRERENDER_INJECTED',
// Optional - Any values you'd like your app to have access to via window.injectProperty.
inject: {
prerender: true,
isDarkMode: process.env.THEME === 'dark',
}注入全局变量,然后通过npm run 命令传参生成 日间、夜间 两个模板;
生成完模板之后,拷贝到 client/pages/prerender目录下保存(index.white.html、index.dark.html);