研究vite心得
vite作为我们前端开发工具利器,在开发时,作为开发服务器时提供极速的启动体验、调试接口时提供代理服务器功能,开发时提供HMR能力支持修改无感刷新,提供兼容rollup的打包生态,提供方便扩展的插件系统等等,这些是怎么做的呢,本文在学习了文档&源码后与大家探讨一下 vite 以下功能的实现思路: 开发服务器 proxy代理 预构建 hmr 插件系统 1. 浏览器原生支持 ,当碰到 import 一个(非本地)模块时,浏览器会发一个请求(...
Go module 目录为什么带 ! 感叹号?
如下图的模块存储路径: 认真一看,会发现一个神奇的现象。那就是有的文件夹名称是带 ! 感叹号的。但是包本身并没有这样命名。 如下图红框中的感叹号: 这是怎么回事,目录名乱码了吗,还是说是一种加解密的编码? 在 的官方文档下 Escaped Paths\[1\] 我们能够找到相关的解释。如下图: 这个问题的缘由是因为 Go 模块是从 OS 文件系统读取数据的,模块不能单纯的依靠 OS 文件系统来区分大小写,也不能依靠网络服务器去区分。 也...
最全的docx,pptx,xlsx(excel),pdf文件预览方案总结
最近遇到了文件预览的需求,但一搜索发现,这还不是一个简单的功能。于是又去查询了很多资料,调研了一些方案,也踩了好多坑。最后总结方案如下 1. 花钱解决(使用市面上现有的文件预览服务) 1. 微软 2. google 3. 阿里云 IMM 4. XDOC 5. Office Web 365 6. wps开放平台 2. 前端方案 1. pptx的预览方案 2. pdf的预览方案 3. docx的预览方案 4. xlsx(excel)的预览方...
开源文档预览项目 kkFileView
kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。 该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。 拉取镜像: 运行容器 浏览器访问容器 8012 端口 即可看到项目演示用首页。 上传一个文件之后,点击预览,即可查看该文件预览效果。 项目内需要预览文件时...
Next.js 跨域问题的各种解法
本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究! 前言 跨域是使用 Next.js 常遇到的问题,问题主要分为两类: 1. 如何调用一个跨域接口? 2. 如何实现一个跨域接口? 本篇我们会先从跨域的基础知识开始讲起,然后讲解 Next.js 下这两大类问题的各种解决方案,帮你系统解决跨域问题!快收藏、点赞这篇文章留做备忘吧! PS:系统学习 Next.js,欢迎入手小册 。基础篇、实战篇、源码篇...
不同的字体文件类型(OTF、TTF、WOFF、WOFF2)
因为公司的一些业务,需要对字体的相关概念有一定的了解,这里稍微记录下。 首先,我们先来知道下,常见的几种字体文件类型。 只需要一个文件,包含一个单独的字体样式文件(普通、斜体、粗体等) 。TrueType 文件格式仅用于屏幕,字体文件的扩展名是 兼容性如下: 它基于支持扩展字符集(连字、替代样式、字形等)的 TrueType 格式 字体文件的扩展名: 包含 TrueType 字体的 OpenType 文件后缀名为 。 包含 PostSc...
妙用 background 实现花式文字效果
本文将讲解如何利用 background 系列属性,巧妙的实现一些花式的文字效果。通过本文,你将可以学到: 通过 与 实现酷炫的文字下划线效果 通过 与 以及 实现文字逐个渐现的效果 起因 写本文的动机是在于,某天,被这样一个标题所吸引 \ \ 10 Masterfully Designed Websites,其中列举了 10 个极具创意的 Web 网站。 其中一个 Red Bull Racing 网站,是介绍关于 F1 红牛车队的主页...
字体加载的几种方案
众所周知,中文字体文件都是比较大的,且还有不同的字重,如果需要加载所有字重的字体文件,那体积就更加夸张,本文简述字体加载的几种方案,以及如何选择合适的方案。 正文 我们可以看到,一个包含所有字重的思源黑体文件大小有 30MB,这个体积是非常夸张的。 如果我们需要对所有字体文件做加载,那么加载时间就会过长,很影响首屏时间。所以我们可以根据业务场景来使用不同的字体加载方案。 全量加载字体 虽然全量加载字体的操作对首屏的性能影响比较大,但是部...
网站中文字体包优化指南
原文地址(本人博客): 在开发中文网站时,我们通常需要下载汉字字体包,但众所周知,汉字字体包的体积通常比较大,以谷歌字体中的 字体为例,直接下载下来的完整字体文件体积为17.7MB。 17.7MB的大小对于一个页面资源来说是巨大的;尽管现代的网络环境中,许多浏览器和服务器已经开始广泛支持 HTTP/2 协议或者更高版本的协议,单个网络资源的请求并不影响其他资源的传输,但其可能会占用大量带宽其他资源的请求可能会因为带宽限制而排队等待传输。...