wap文字网页游戏网站排名seo软件

web/2025/10/9 11:56:01/文章来源:
wap文字网页游戏,网站排名seo软件,如何进入网站,WordPress如何恢复最初在开发webapp的时候总是会受到首屏加载时间过长的影响#xff0c;主流的解决方法是在载入完成之前显示loading图效果#xff0c;而一些大公司会配置一套服务端渲染的架构来解决这个问题。考虑到ssr所要解决的一系列问题#xff0c;越来越多的APP采用了“骨架屏”的方式去提升… 在开发webapp的时候总是会受到首屏加载时间过长的影响主流的解决方法是在载入完成之前显示loading图效果而一些大公司会配置一套服务端渲染的架构来解决这个问题。考虑到ssr所要解决的一系列问题越来越多的APP采用了“骨架屏”的方式去提升用户体验。 一、分析Vue页面的内容加载过程 vue项目中的入口index.html只有简单的内容 !DOCTYPE html html langzh-CN headmeta http-equivContent-Type contenttext/html;charsetUTF-8titleDocument/title /head bodydiv idroot /divscript typetext/javascript srcbundle.js/script/body /body /html 当js执行完之后会用vue渲染成的dom将div#root完全替换掉。我们在div#root中加入模拟骨架屏在Chrome开发者工具调整网速 div idroot这里是骨架屏 /div   由此可知将骨架屏内容直接插入div#root中即可实现骨架屏。 二、使用vue-server-renderer来实现骨架屏 我们需要骨架屏也是一个单独的.vue文件因此我们需要用到vue-server-renderer。对vue服务端渲染有所了解的同学一定知道这个插件能够将vue项目在node端打包成一个bundle然后由bundle生成对应的html。首先是生成项目 . ├── build │ ├── webpack.config.client.js │ └── webpack.config.server.js ├── src │ └── views │ ├── index │ │ └── index.vue │ ├── skeleton │ │ └── skeleton.vue │ ├── app.vue │ ├── index.js │ └── skeleton-entry.js ├── index.html └── skeleton.js └── package.json vue的服务端渲染一般会用vue-server-renderer将整个项目在node端打包成一份bundle而这里我们只要一份有骨架屏的html所以会有一个单独的骨架屏入口文件skeleton-entry.js,一个骨架屏打包webpack配置webpack.config.server.js而skeleton.js作用是将webpack打包出来的bundle写入到index.html中。 //skeleton-entry.js import Vue from vue import Skeleton from ./views/skeleton/skeleton.vueexport default new Vue({components: {Skeleton},template: skeleton / }) //webpack.config.server.js const path require(path) const { VueLoaderPlugin } require(vue-loader) const VueSSRServerPlugin require(vue-server-renderer/server-plugin)module.exports {mode: process.env.NODE_ENV,target: node,entry: path.join(__dirname, ../src/skeleton-entry.js),output: {path: path.join(__dirname, ../server-dist),filename: server.bundle.js,libraryTarget: commonjs2},module: {rules: [{test: /\.vue$/,loader: vue-loader},{test: /\.css$/,use: [vue-style-loader,css-loader]} ]},externals: Object.keys(require(../package.json).dependencies),resolve: {alias: {vue$: vue/dist/vue.esm.js}},plugins: [new VueLoaderPlugin(),new VueSSRServerPlugin({filename: skeleton.json})] } 其中骨架屏的webpack配置因为是node端所以需要target: node libraryTarget: commonjs2。在VueSSRServerPlugin中指定了其输出的json文件名。当执行webpack会在/server-dist目录下生成一个skeleton.json文件,这个文件记载了骨架屏的内容和样式会提供给vue-server-renderer使用。 //skeleton.js const fs require(fs) const path require(path)const createBundleRenderer require(vue-server-renderer).createBundleRenderer// 读取skeleton.json以index.html为模板写入内容 const renderer createBundleRenderer(path.join(__dirname, ./server-dist/skeleton.json), {template: fs.readFileSync(path.join(__dirname, ./index.html), utf-8) })// 把上一步模板完成的内容写入替换index.html renderer.renderToString({}, (err, html) {fs.writeFileSync(index.html, html, utf-8) }) 注意作为模板的html文件需要在被写入内容的位置添加!--vue-ssr-outlet--占位符本例子在div#root里写入div idroot!--vue-ssr-outlet--/div 最后执行node skeleton就能实现vue的骨架屏。最终的index.html: !DOCTYPE html html langzh-CN headmeta http-equivContent-Type contenttext/html;charsetUTF-8meta http-equivX-UA-Compatible contentIEedge,chrome1meta nameviewport contentwidthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0titleDocument/title style data-vue-ssr-ida7049cb4:0 .skeleton[data-v-61761ff8] {position: relative;height: 100%;overflow: hidden;padding: 15px;box-sizing: border-box;background: #fff; } .skeleton-nav[data-v-61761ff8] {height: 45px;background: #eee;margin-bottom: 15px; } .skeleton-swiper[data-v-61761ff8] {height: 160px;background: #eee;margin-bottom: 15px; } .skeleton-tabs[data-v-61761ff8] {list-style: none;padding: 0;margin: 0 -15px;display: flex;flex-wrap: wrap; } .skeleton-tabs-item[data-v-61761ff8] {width: 25%;height: 55px;box-sizing: border-box;text-align: center;margin-bottom: 15px; } .skeleton-tabs-item span[data-v-61761ff8] {display: inline-block;width: 55px;height: 55px;border-radius: 55px;background: #eee; } .skeleton-banner[data-v-61761ff8] {height: 60px;background: #eee;margin-bottom: 15px; } .skeleton-productions[data-v-61761ff8] {height: 20px;margin-bottom: 15px;background: #eee; } /style/head bodydiv idrootdiv data-server-renderedtrue classskeleton page data-v-61761ff8div classskeleton-nav data-v-61761ff8/div div classskeleton-swiper data-v-61761ff8/div ul classskeleton-tabs data-v-61761ff8li classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/lili classskeleton-tabs-item data-v-61761ff8span data-v-61761ff8/span/li/ul div classskeleton-banner data-v-61761ff8/div div classskeleton-productions data-v-61761ff8/divdiv classskeleton-productions data-v-61761ff8/divdiv classskeleton-productions data-v-61761ff8/divdiv classskeleton-productions data-v-61761ff8/divdiv classskeleton-productions data-v-61761ff8/divdiv classskeleton-productions data-v-61761ff8/div/div/div /body /html 尾声 文章开头小米商城手机页面就是用的这样的方法不同的是它的骨架屏是一个base64的图片。 更多关于vue-server-renderer内容请戳vue-ssr相关demo转载自https://segmentfault.com/a/1190000014963269 转载于:https://www.cnblogs.com/hongsusu/p/9439152.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旅游网站源代码模板谈谈自己对市场营销的理解

背景 想获取if_yc为1连续账期数据 思路 获取所有if_yc为1的账期数据下一行减去上一行账期,如果为1则为连续,不等于1就为断档获取不等于1的最小账期,就是离当前账期最近连续账期 代码 以下为mysql语法: select acct_month f…

网站建设攵金手指科杰壹陆互联网产品代理项目

本文主要探讨210的LCD相关知识。 LCD LCD称液晶(透光背光呈色),可在电信号驱动下使液晶分子旋转,呈现不同的颜色(被动发光) lcd接口为TTL接口(5V为1,0V为0),不能传输太远,远距离传输方式:SoC(TTL) ->VGA-> LCD(TTL) 其他显设备:CRT(…

网站如何做流量建设企业网站就等于开展网络营销吗

在前面两篇文章WCF进阶:将消息正文Base64编码和WCF进阶:为每个操作附加身份信息中讲述了如何通过拦截消息的方式来记录或者修改消息,这种方式在特定条件下可以改变消息编码格式,但实现方式并不规范,而且使用范围也有限制。 WCF缺省…

设计网站怎样做色卡华为商城网站设计

操作环境: MATLAB 2022a 1、算法描述 黏菌优化算法(Slime Mould Algorithm, SMA)是一种新颖的启发式优化方法,其灵感来源于自然界中的真菌——黏菌。这种算法模拟了黏菌在寻找食物时的行为和网络形成策略。在本文中&#xff0c…

做直播网站用什么网上空间好dedecms网站建设合同

一个项目中用到的使用Volley上传头像文件的例子,供大家参考,具体内容如下/*** Created by wangshihui on 2015/11/30.* 上传文件* url:.....method:post参数:file接口给的参数:file 就是表单的key&#xff…

网站制作 沈阳厦门app制作

(1)类和接口的访问权限种类一样 ,有两中public,default,它们的不同在于是否能访问不同包中的类或接口default:只能在本包中访问public:任何地方都可以访问,当然不同的包中,首先要import,导入类。(2)类中成员或方法的访…

seo站长工具 论坛贵州企业网站建设设计

一、Pycharm端的设置操作 通过Ctrl+Alt+S快捷组合键的方式,打开设置,导航到版本控制一栏中的Git,在Git可执行文件路径中,输入Git.exe。 按照下图顺序,依次点击,完成测试。输出如图标④的结果,即可完成测试。 输出下图结果,配置Git成功,如本地未安装Git,需自行安装。

怎么查看网站的ftp网站开发流程莆田

阅读引言: 本文将会从环境sqlite3的安装、数据库的基础知识、sqlite3命令、以及sqlite的sql语句最后还有一个完整的代码实例, 相信仔细学习完这篇内容之后大家一定能有所收获。 目录 一、数据库的基础知识 1.数据库的基本概念 2.常用数据库 3.嵌入式…

网站开发语免费营销型网站建设

一、Linux和Windows的一些区别 1、Linux严格区分大小写——【Windows创建文件夹时不区分大小写】 2、Linux中所有内容都以文件形式存储,包括硬件 3、Linux不靠拓展名区分文件类型,而是可以通过读取文件开头的一些字节来区分。 但是在实际使用中一般要…

门户网站规划方案wordpress调整宽度

一、date 如何使用、如何获取年月日时分秒、时间戳、如何获取指定日期的时间戳或周几 1..Date 对象用于处理日期和时间。 创建 Date 对象的语法: var myDatenew Date() 获取年月日时分秒: // 格式化日对象 const getNowDate () > {let date new …

企业网站整合许昌专业做网站公司

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、项目概述…

网站建设还有需求么什么是企业年金

目录 Vue 2 中的 Prop 详解基本用法项目示例 动态Props项目示例 Prop 验证项目示例 单向数据流项目示例 Vue 2 自定义事件详解自定义事件的基本使用项目示例 传递数据项目示例 命名自定义事件项目示例 👍 点赞,你的认可是我创作的动力! ⭐️…

网站建设 学习什么wordpress需要备案号

AI面试官:LINQ和Lambda表达式(三) 当面试官面对C#中关于LINQ和Lambda表达式的面试题时,通常会涉及这两个主题的基本概念、用法、实际应用以及与其他相关技术的对比等。以下是一些可能的面试题目,附带简要解答和相关案…

自己买服务器建设网站张家口职教中心计算机网站建设

找网上的资料看了下增删改查,等日后补上。已经实现了数据的插入,现在想通过 _id属性来查找数据。一开始看到 类似 55b321df715cc162076eb466 这么一长串的内容觉得是string类型。但是发现并不能搜索到结果,在网上搜到了解决方案:S…

建设银行咸阳缴费网站商标免费生成器

设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。 针对表达各类词语的一组正规表达式,设计一个确定化的最简的有限自动机,对输入的符号串进行单词划分及词类识别。 要求词法分析器的输入是字符串,输出是源程序中各…

烟台网站建设企汇互联见效付款个人网站模板设计步骤

分类算法-决策树、随机森林1.决策树1.1 认识决策树1.2 信息论基础-银行贷款分析1.3 决策树的生成1.4 决策树的划分依据之一-信息增益1.5 sklearn决策树API1.6 泰坦尼克号乘客生存分类2. 集成学习方法-随机森林1.决策树 1.1 认识决策树 决策树思想的来源非常朴素,程…

商城网站建设怎么收费做封面图的网站

开发时候,遇到了系统找不到配置文件的情况,定位到文件路径的问题之后,选择将当前路径打印到控制台。 File directory new File("");//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath());//获取标准的路径 …

国外网站用什么dns佟年帮韩商言做网站是第几集

就像魔术棒一样,中间操作将一个Stream转换为另一个Stream。 这些操作可以无穷无尽的方式组合在一起,以可读有效的方式执行从简单到高度复杂的任务。 本文是五分之二,其中还有一个GitHub存储库,其中包含每个单元的说明和练习。 第…

做个人网站用什么程序做3d模型的叫什么牛的网站

应用程序的生命周期 窗体的生命周期: window是一个控件 window中的事件:从window创建到关闭我们称之为窗体的生命周期 每一个窗体的生命周期都是独立的,窗体与窗体之间的生命周期都是独立的 最早加载的事件 控件的事件触发 基本所有的控件都继承与Framework 在WPF中基本所有的…

学会网站建设三方协议手机网站报名链接怎么做

选项说明q, ESC退出播放f全屏切换p, SPC暂停m静音切换9, 09减少音量,0增加音量a循环切换音频流v循环切换视频流t循环切换字幕流c循环切换节目w循环切换过滤器或显示模式s逐帧播放left/right向后/向前拖动10秒down/up向后/向前拖动1分钟鼠标右键单击拖动与显示宽度对…