SF
精益前端
精益前端
注册登录
关注博客
注册登录
主页
关于
RSS
vue-cli 迁移 vite2 实践小结
alienzhou
2021-03-09
阅读 8 分钟
9.5k
两周前(202.02.17),vite2.0 发布了,作为使用了浏览器原生 ESM 为下一代前端工具,vite 2.0 相较于 1.0 更加成熟。在此之前笔者就开始关注这类「新型」的前端工具。这次趁着 vite 2.0 发布,也成功将一个基于 vue-cli(-service) + vue2 的已有项目进行了迁移。
如何实现可复用的控制台“艺术字”打印功能
alienzhou
2020-11-23
阅读 8 分钟
4.2k
之前在使用一些开源项目时,经常会看到在控制台输出项目大大的 LOGO。例如:hexo minos 主题启动时在控制台里会显示「MINOS」文案fis3 启动时也会有显示「FIS」添加这种大号「艺术字」可以达到「品牌露出」的效果,当然,也是程序员特有「情趣」的体现。 😄但它们的实现方式无外乎把编排好的 Logo 通过 console.log 输出...
替代 webpack?一文带你了解 snowpack 原理,你还学得动么
alienzhou
2020-06-20
阅读 14 分钟
4.7k
近期,随着 vue3 的各种曝光,vite 的热度上升,与 vite 类似的 snowpack 的关注度也逐渐增加了。目前(2020.06.18)snowpack 在 Github 上已经有了将近 1w stars。
NodeJS 中 DNS 查询的坑 & DNS cache 分析
alienzhou
2020-05-08
阅读 12 分钟
6.2k
近期在做一个 DNS 服务器切换升级的演练中发现,我们在 NodeJS 中使用的 axios 以及默认的 dns.lookup 存在一些问题,会导致切换过程中的响应耗时从 ~80ms 上升至 ~3min,最终 nginx 层出现大量 502。
【3分钟速览】如何“严谨地”判断两个变量是否相同
alienzhou
2020-01-14
阅读 3 分钟
3.4k
引言 如何“严谨地”判断两个变量相同?仅仅使用 === 就可以了么? 严格相等 我们可以非常快的写一个 is 方法来判断变量 x 是否就是 y: {代码...} 当然,你会很快发现,方法里用了 ==,由于隐式转换的问题,这并不严谨。所以我们自然会使用如下的方法: {代码...} 那么这是否完美了呢? 一个“更严谨”的方法 {代码...} 上...
【漫游Github】无编译/无服务器,实现浏览器的 CommonJS 模块化
alienzhou
2020-01-08
阅读 8 分钟
6k
平时经常会逛 Github,除了一些 star 极高的大项目外,还会在 Github 上发现很多有意思的小项目。项目或是想法很有趣,或是有不错的技术点,读起来都让人有所收获。所以准备汇总成一个「漫游Github」系列,不定期分享与解读在 Github 上偶遇的有趣项目。本系列重在原理性讲解,而不会深扣源码细节。
【性能优化指南】带你全面掌握前端性能优化 ?
alienzhou
2019-08-15
阅读 2 分钟
3.8k
性能优化一直以来都是前端工程领域中的一个重要部分。很多资料[1][2][3]表明,网站应用的性能优化对于提高用户留存、转化率等都有积极影响。可以理解为,提升你的网站性能,就是提升你的业务数据(甚至是业务收入)。
如何提升JSON.stringify()的性能?
alienzhou
2019-06-05
阅读 7 分钟
17.4k
1. 熟悉的JSON.stringify() 在浏览器端或服务端,JSON.stringify()都是我们很常用的方法: 将 JSON object 存储到 localStorage 中; POST 请求中的 JSON body; 处理响应体中的 JSON 形式的数据; 甚至某些条件下,我们还会用它来实现一个简单的深拷贝; …… 在一些性能敏感的场合下(例如服务端处理大量并发),或面对...
如何在零JS代码情况下实现一个实时聊天功能❓
alienzhou
2019-05-21
阅读 4 分钟
7.8k
前段时间在 github 上看到了一个很“trick”的项目:用纯 CSS(即不使用 JavaScript)实现一个聊天应用 —— css-only-chat。即下图所示效果。
🛠如何快速开发一个自己的项目脚手架?
alienzhou
2019-05-18
阅读 7 分钟
4.4k
随着前端工程化的理念不断深入,越来越多的人选择使用脚手架来从零到一搭建自己的项目。其中大家最熟悉的就是create-react-app和vue-cli,它们可以帮助我们初始化配置、生成项目结构、自动安装依赖,最后我们一行指令即可运行项目开始开发,或者进行项目构建(build)。
✨如何用JS实现“划词高亮”的在线笔记功能?✨🖍️
alienzhou
2019-04-25
阅读 10 分钟
9k
笔者前段时间为线上业务实现了一个与内容结构非耦合的文本高亮在线笔记功能。非耦合是指不需要为高亮功能建立特殊的页面 DOM 结构,而高亮功能对业务近乎透明。该功能核心部分具有较强的通用性与移植性,故拿出来和大家分享交流一下。
面试官:前端跨页面通信,你知道哪些方法?
alienzhou
2019-04-01
阅读 10 分钟
19.9k
在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个Tab间共享。然而有些时候,我们希望能在这些“独立”的Tab页面之间同步页面的数据、信息或状态。
【3分钟速览】前端广播式通信:Broadcast Channel
alienzhou
2019-04-01
阅读 2 分钟
3.8k
在前端,我们经常会用postMessage来实现页面间的通信,但这种方式更像是点对点的通信。对于一些需要广播(让所有页面知道)的消息,用postMessage不是非常自然。Broadcast Channel 就是用来弥补这个缺陷的。
【性能优化】quicklink:实现原理与给前端的启发
alienzhou
2018-12-25
阅读 4 分钟
4.6k
近来,GoogleChromeLabs 推出了 quicklink,用以实现链接资源的预加载(prefetch)。本文在介绍其实现思路的基础上,会进一步探讨在预加载方面前端工程师还可以做什么。
(S)CSS中实现主题样式的4½种方式
alienzhou
2018-12-13
阅读 6 分钟
5.6k
PM说要实现一个一键设置主题的功能,作为技术,你能想到的实现方式有哪些呢? 1. 什么是主题样式? 相信大家对网页的主题样式功能肯定不陌生。对于一些站点,在基础样式上,开发者还会为用户提供多种主题样式以供选择。 下面就是一个主题样式功能:用户可以在右侧选择自己喜欢的主题色,从而得到一个“个性”的页面。 还有...
【webpack进阶】可视化展示webpack内部插件与钩子关系?
alienzhou
2018-11-07
阅读 7 分钟
3.5k
也许你了解过webpack的插件与钩子机制;但你或许不知道,webpack内部拥有超过180个钩子,这些钩子与模块(内置插件)之间的「创建」「注册」「调用」关系非常复杂。因此,掌握webpack内部插件与钩子间的关系会帮助我们更进一步理解webpack的内部执行方式。
【webpack进阶】前端运行时的模块化设计与实现
alienzhou
2018-11-07
阅读 13 分钟
4.2k
webpack是一个强大而复杂的前端自动化工具。其中一个特点就是配置复杂,这也使得「webpack配置工程师」这种戏谑的称呼开始流行🤷但是,难道你真的只满足于玩转webpack配置么?
【PWA学习与实践】(10)使用Resource Hint提升页面加载性能与体验
alienzhou
2018-11-06
阅读 9 分钟
3k
本文是《PWA学习与实践》系列的第十篇文章。也许你还没有听说过或不了解Resource Hint,但是通过本文,你会快速学习到这一件页面加载性能利器。本系列相关demo的代码都可以在github repo中找到。
【PWA学习与实践】(9)生产环境中PWA实践的问题与解决方案
alienzhou
2018-11-06
阅读 7 分钟
4.1k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(8)使用Service Worker进行后台同步 - Background Sync
alienzhou
2018-11-06
阅读 12 分钟
3k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(7)使用Notification API来进行消息提醒
alienzhou
2018-11-06
阅读 10 分钟
3.3k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(6) 在Chrome中调试你的PWA
alienzhou
2018-11-06
阅读 3 分钟
2.3k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(5)在Web中进行服务端消息推送
alienzhou
2018-11-06
阅读 11 分钟
3.6k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
2018你成长了么?一份给你的前端技术清单
alienzhou
2018-11-04
阅读 6 分钟
10.1k
在学习中我发现,像文章这样的知识往往是碎片化的,而前端涉及到的面很多,如果不将这些知识有效梳理,则无法形成体系、相互串联。最后有一种东懂一块,西了解一点的感觉。因此,我结合工作体会抽象出了一些前端基础技术能力,并将这段时间学习或产出的一些不错的内容根据这些能力进行整理,形成了一份前端技术清单(git...
【PWA学习与实践】(3) 让你的WebApp离线可用
alienzhou
2018-11-04
阅读 11 分钟
2.3k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(2) 使用Manifest,让你的WebApp更“Native”
alienzhou
2018-07-31
阅读 6 分钟
3.3k
PWA作为时下最火热的技术概念之一,对提升Web应用的安全、性能和体验有着很大的意义,非常值得我们去了解与学习。对PWA感兴趣的朋友欢迎关注《PWA学习与实践》系列文章。
【PWA学习与实践】(1) 2018,开始你的PWA学习之旅
alienzhou
2018-07-31
阅读 2 分钟
3.6k
本系列文章《PWA学习与实践》会逐步拆解PWA背后的各项技术,通过实例代码来讲解这些技术的应用方式。也正是因为PWA中技术点众多、知识细碎,因此我在学习过程中,进行了整理,并产出了《PWA学习与实践》系列文章,希望能带大家全面了解PWA中的各项技术。对PWA感兴趣的朋友欢迎关注。