当前位置: 首页 > news >正文

徐州专门做网站做网站用vue吗

徐州专门做网站,做网站用vue吗,wordpress友情链接提交,今天的新闻热点Thinking系列#xff0c;旨在利用10分钟的时间传达一种可落地的编程思想。 近日#xff0c;在了解 vue/repl 相关内容#xff0c;其通过 URL 进行数据存储#xff0c;感觉思路惊奇#xff0c;打开了新方式。 首先#xff0c;通过 URL 存储最大的便利是#xff1a;无需服… Thinking系列旨在利用10分钟的时间传达一种可落地的编程思想。 近日在了解 vue/repl 相关内容其通过 URL 进行数据存储感觉思路惊奇打开了新方式。 首先通过 URL 存储最大的便利是无需服务端且通过URL可以分享。 比如通过 这个URL 即可获取到个人编写的内容。 下面和大家一起解读一下尤大是如何实现的 这里需要充分考虑了URL字符限制所以增加了压缩。 源码解析 // 调用 import { ReplStore } from vue/replconst store new ReplStore({serializedState: location.hash.slice(1),// 其他配置项... })源码 if (serializedState) {// URL中有存储的数据const saved JSON.parse(atou(serializedState))// 实现设置代码的逻辑for (const filename in saved) {setFile(files, filename, saved[filename])} } else {// URL中没有存储的数据// 设置默认的代码setFile(files, defaultMainFile, welcomeCode) }这里调用了atou方法用于解码数据还有一个与之相对的utoa用于编码数据。 // 借助vue3 watchEffect 实时响应修改 URL watchEffect(() history.replaceState({}, , store.serialize()))serialize() {const files this.getFiles()const importMap files[importMapFile]if (importMap) {// 其他处理逻辑}return # utoa(JSON.stringify(files))}整个过程的核心是使用了base64编码和压缩算法。在存储阶段数据首先经过base64编码然后使用zlib压缩算法进行压缩。压缩后的数据再转换为二进制字符串最终使用btoa方法将二进制字符串编码为Base64字符串。而在读取阶段则按照相反的过程进行解码和解压缩。 存储阶段strToU8 zlibSync strFromU8 btoa 读取阶段atob strToU8 unzlibSync strFromU8 读取是存储的一个逆向过程。压缩和解压缩使用了开源框架 fflate – 号称是目前最快、最小、最通用的纯 JavaScript压缩和解压库。 import { zlibSync, unzlibSync, strToU8, strFromU8 } from fflate// 解码 export function atou(base64: string): string {const binary atob(base64)// zlib header (x78), level 9 (xDA)if (binary.startsWith(\x78\xDA)) {const buffer strToU8(binary, true)const unzipped unzlibSync(buffer)return strFromU8(unzipped)}// old unicode hacks for backward compatibility// https://base64.guru/developers/javascript/examples/unicode-stringsreturn decodeURIComponent(escape(binary)) }// 编码 export function utoa(data: string): string {const buffer strToU8(data)const zipped zlibSync(buffer, { level: 9 })// 二个参数传了true代表转换成二进制字符串因为js内置的btoa和atob方法不支持Unicode字符串而我们的代码内容显然不可能只使用ASCII的256个字符const binary strFromU8(zipped, true)return btoa(binary) }btoa() 方法可以将一个二进制字符串例如将字符串中的每一个字节都视为一个二进制数据字节编码为 Base64 编码的 ASCII 字符串。 atob() 对经过 base-64 编码的字符串进行解码。 let encodedData window.btoa(Hello, world); // 编码 let decodedData window.atob(encodedData); // 解码总结 通过这种方式vue/repl 实现了将数据存储在URL中的功能。这样做的好处是可以避免服务器的繁琐配置和费用并且方便快捷地分享给其他人。 该插件支持 CodeMirror Editor、Monaco Editor 两款主流编辑器如果大家项目中有需要代码编辑器的可以直接“借鉴使用”。 好的技术方案一定是根据场景来的且通过阅读源码我们可以获取到一写比较不错且小巧的开源库如上述的 fflate。
http://www.hkea.cn/news/14362673/

相关文章:

  • 响应式网站跟自适应网站的区别黑马it培训班出来现状
  • 网站开发招标公告陕西锦宇建设有限公司网站
  • 石排仿做网站邢台123最新求职招聘信息
  • 申请好域名后怎么建设网站网站后台素材
  • 哈尔滨网页设计网站模板网站模板 源码之家
  • 网站建设哪儿济南兴田德润什么活动网站建设公司模版
  • 1核1g服务器做网站江山市建设局网站
  • 北京seo排名优化网站拼多多怎么申请开店
  • 黄冈智能网站建设平台手机下载视频网站模板下载失败
  • 怎么查看一个网站是不是伪静态小说网站开发的目的
  • 沈阳餐饮网站建设html网站编辑器
  • 深圳企业建网站云服务器优惠活动
  • 国外做外贸哪个网站好些上海建筑公司名称大全
  • 生活家装饰官方网站惠州网站网站建设
  • 好用的在线地图网站小程序开发制作官网
  • 绿化信息网站建设河南省交通基本建设质量检测监督站网站
  • 免费企业网站模板源码如何快速网站备案
  • 建个企业网站要多少钱微信开发者工具文档
  • 个人网站如何备企业开发者模式关掉好还是开着好
  • 专门做验收报告的网站域名注册服务网站查询
  • 中企动力做的网站怎么登陆wordpress如何发布视频
  • 线上网站制作wordpress 主题 开源
  • 烟台建网站哪家好公共资源交易中心怎么报名投标
  • 企业在网站推广wordpress插件找回
  • 网站建设 贸易企业所得税会计分录
  • 外贸网站索引页多it培训机构学费
  • 网站 建设 步骤wordpress加统计代码
  • 校园网站建设情况邮件服务器是不是网站服务器
  • 做餐饮连锁在哪个网站看泰安网站建设找工作
  • 做网站套路网站广告下悬浮代码怎么做