每周分享(第 71 期)

116 阅读2分钟

新闻、观点、有趣

TypeScript 的问题
作者记录了他使用 TypeScript 过程中,觉得不够满意的地方。有些是可以解决的,有些属于语言的核心设计,很难解决。

日期版本的方案
有人正式提出了“日期版本”(ChronVer)的方案,软件版本按照年月日编排。理由是用户更在乎最新版本的发布时间,而不是版本号。

从构建进程间缓存设计 谈 Webpack5 优化和工作原理
这篇文章,作者就以 Spec: A module disk cache between build processes 为方向,介绍一下 Webpack 5 最令人期待的「长效缓存」功能的前世今生,技术背景以及落地方案。同时希望“管中窥豹”,介绍一下整体 Webpack 的构建流程。 整篇文章将会设计大量 Webpack 实现原理和体系设计,阅读需要一定的前置知识和理解成本。 总之:“你认为的缓存不仅仅是简单的「空间换时间」,同时,你认为的「Webpack 工程师」恰恰是前端体系中最具功力的拼图板块”。

教程、技巧

CSS 圆形的写法
本文总结了使用 CSS 在网页上生成一个圆形的四种方法,然后讨论了这些方法的应用。

为什么 npm 锁文件是一个安全隐患?
Node.js 的模块管理系统 npm,会自动生成锁文件package-lock.json。作者提出,下毒者可以偷偷修改这个锁文件,加入恶意模块,而很难被发现。

库、工具

qier-progress
一个网页顶部进度条的 JS 库。

wtfjs
一个有趣和棘手的 JavaScript 示例列表。

undraw
一个免费的插图网站,可以在上面寻找合适的插图,用于商业用途。

Snowpack
一个 JavaScript 工具,可以将 node.js 模块转成单个的 JS 文件,替代 Webpack 这样的打包工具。

Pic Hance
一个将低分辨率图片增强为高分辨率的工具,可以将分辨率增加4倍(即长和宽各增加一倍)。