开发人员编写 JavaScript 代码;浏览器执行 JavaScript 代码。从根本上说,在前端开发中并不需要构建步骤。那么,为什么现代前端开发中会有构建步骤呢?

随着前端代码库的不断增长,以及开发人员工效变得越来越重要,直接将 JavaScript 源代码发送给客户端会导致两个主要问题:

1. 不支持的语言特性: 因为 JavaScript 在浏览器中运行,而且市面上有多种版本的浏览器,你使用的每一种语言特性,都会减少能够执行你的 JavaScript 的客户端数量。此外,像 JSX 这样的语言扩展不是有效的 JavaScript,不能在任何浏览器中运行。

2. 性能问题: 浏览器必须单独请求每个 JavaScript 文件。在大型代码库中,这可能导致需要数千个 HTTP 请求来渲染一个页面。在过去,HTTP/2 出现之前,这还会导致数千次 TLS 握手。

此外,可能还需要几次连续的网络往返才能加载完所有的 JavaScript。例如,如果 index.js 导入了 page.js,而 page.js 又导入了 button.js,那么就需要三次连续的网络往返才能完全加载 JavaScript。这被称为瀑布流问题。

源文件也可能因为长变量名和空白缩进字符而变得不必要地大,增加了带宽使用和网络加载时间。

前端构建系统处理源代码,并输出一个或多个为发送到浏览器而优化的 JavaScript 文件。生成的分发版通常对人类来说是难以理解的。

阅读全文 »


本文配置依赖如下版本:

Winddows 10
Visio 2021

Visio 快速给多条连接线添加箭头

使用 Visio 编辑流程图时,往往需要插入多条连接线,给每一个连接线设置箭头非常麻烦。想要同时给多条连接线设置箭头,可以这样做。

阅读全文 »


假设你需要使用 JavaScript 在服务器上读取多个文件。对于像 Node.js 这样的运行时,读取文件的方法有很多种。哪一种方法最好呢?让我们来考虑各种不同的方式。

使用 fs.promises

1
2
3
4
5
const fs = require('fs/promises');
const readFile = fs.readFile;
readFile("lipsum.txt", { encoding: 'utf-8' })
.then((data) => {...})
.catch((err) => {...})
阅读全文 »


本主题配置依赖如下版本:

node 22.3.0
npm 10.8.1
hexo 7.2.0
NexT 8.20.0

安装 Hexo

1
$ npm install -g hexo-cli
阅读全文 »


最近将操作系统从 win7 升级到 win10 了,然后将 Node 等软件全部升级成最新版,顺便把博客版本也更新一下。在查看 Hexo 升级的相关文档时,碰巧看到了 utterances ,无跟踪、无广告,永远免费,所有数据直接存储在自己的 github 仓库,深得我爱。立马开始部署!

搜索、阅读了大量博客,如 Hexo 博客添加评论功能,都说直接在主题的配置文件下,新增如下配置即可:

阅读全文 »
0%