在使用 JS 处理 Unicode 字符串时(如 Emoji),如果使用 String.prototype.slice
等自带的字符串方法,有可能会出现把 Unicode 字符截断一半导致编码出错的问题,因此需要深入了解 JS 字符串的存储方式和处理方式。
15 篇博文 含有标签「前端」
查看所有标签在 Electron 中写一个完美的跨平台自定义标题栏
Electron 默认的标题栏样式不太美观,而大部分 Electron 应用都使用了自定义标题栏来美化样式。本文将完整地介绍如何使用 Electron 写一个完美的跨平台自定义标题栏。
NestJS 中根据 Controller 的构造函数参数自动注入 Provider 的方法研究(Typescript)
最近在学习 NestJS 时发现他能通过检测 Controller 构造函数参数自动注入正确的 Provider,这和我之前对 TS 的认知不符(之前认为 TS 不支持通过反射去获取类型),经过研究发现它其实是利用到了一个 TS 实验特性来实现的,本文将记录一下相关方法。
RxJS 理念速通理解——一个整流器
偶然看到一个很热门的开源库:RxJS
我看了下它官方文档和网上各种教程,费了老大劲才勉强理解了它是干什么的,其实它的设计理念一句话就可以概括了,这篇文章我会给大家分享一下我的理解。
拒绝屎山!React 代码整洁之道
React 由于太过灵活,10 个人写能写出 10 种甚至 9 种写法(绝望)。俗话说乱写一时爽,维护火葬场(自己说的),因此这篇文章总结了我日常开发见到的各种不合理写法,和自己写出整洁代码的一些经验。
一些有助于管理前端项目目录的抽象概念
看过许多前端项目,可以说各种各样的目录结构都有。虽然这玩意没有一个标准答案,但是一个合理的目录结构确实会对项目开发和维护有很大帮助。
最近学习到了 bulletproof-react,发现还不错,但是感觉有一些地方不太合理,不能完全抄下来,需要结合实际情况使用。
因此我研究了下这个项目,提取出了一些抽象的概念,应该能帮助大家设计出合理的项目目录。
Electron 工程一个比较好的架构介绍
Electron 是一个跨平台桌面应用程序构建工具,你可以使用前端技术和 NodeJS 来构建桌面应用程序(MacOS、Windows、Linux),我们熟悉的 VSCode 就是使用它来构建的。
我在前段时间写了个跨平台哔哩哔哩视频下载工具,发现网上关于 Electron 的相关信息还是挺少的,因此我在这给大家分享一些我开发这个工具的一些经验。
当然,一篇文章肯定讲不完所有细节,所以这里只是简单介绍一下,以后有机会可能还会详细介绍各个细节。
一些 Electron 基本的概念在本文不再赘述,如果你还不清楚的话,可以到 Electron 官网进行学习
实现一个 React 可拖拽排序列表(全动画)
可拖拽(也叫可排序)列表是一个比较常见的组件,但是实际实现起来还是有一定复杂程度的,涉及到光标跟踪、元素交换动画,因此我自己研究了一下使用 React 的实现方法,现在分享给大家。
表达能力可能不太好,加上这个组件确实比较复杂,如果大家有不明白的地方欢迎在评论区里提问。
React useCallback & useMemo 实用技巧(性能优化)
这两个 API 概念比较简单,但是经常被误用(特别是 useCallback,经常能看到有人动不动就 useCallback),因此这里给大家分享一下这两个 API 的正确使用场景。
JavaScript Promise 的可“取消”技术
众所周知,在 JavaScript 中,Promise 一旦开始后就无法取消了,有时候我们确实需要一种可取消的 Promise。经过对几个比较知名的开源库研究,我学习到了一些 Promise 的“取消”(打上引号表示并不是真的取消了)技术,并分享给大家。