摘要: 【webpack系列】从核心概念到上手配置 ## 前言 作为前端开发者,相信大家或多或少都接触过`webpack`,现如今`webpack`已经渗透在了前端的各个方面,所以我们有必要来了解并学习`webpack`,`webpack` 是一种用于构建 JavaScript 应用程序的静态模块打包器,它能够以一种相对一致且开放的处理方式,加载应用 阅读全文
posted @ 2023-06-20 14:11 前端南玖 阅读(285) 评论(0) 推荐(2) 编辑
摘要: 一文搞懂V8引擎的垃圾回收机制 ## 前言 我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的。为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同场景进行工作。 **如果这篇文章有帮助到你,❤️关注+点赞❤️鼓励一下作者,文章公众号首发,关 阅读全文
posted @ 2023-06-13 10:38 前端南玖 阅读(764) 评论(0) 推荐(1) 编辑
摘要: V8是如何执行JavaScript代码的? ## 前言 一般来讲,电脑是不能直接运行我们的`javascript`代码的,它需要一个翻译程序将人类能够理解的编程语言 JavaScript,翻译成机器能够理解的机器语言。目前市面上有很多种 JavaScript 引擎,诸如 SpiderMonkey、V8、JavaScriptCore 等。而由谷 阅读全文
posted @ 2023-06-12 10:19 前端南玖 阅读(554) 评论(1) 推荐(2) 编辑
摘要: pnpm才是前端工程化项目的未来 ## 前言 相信小伙伴们都接触过`npm/yarn`,这两种包管理工具想必是大家工作中用的最多的包管理工具,`npm`作为`node`官方的包管理工具,它是随着node的诞生一起出现在大家的视野中,而`yarn`的出现则是为了解决`npm`带来的诸多问题,虽然`yarn`提高了依赖包的安装速度与使用 阅读全文
posted @ 2023-06-02 13:40 前端南玖 阅读(1116) 评论(1) 推荐(8) 编辑
摘要: 如何提升项目的本地构建效率? ## 前言 最近写H5的项目比较多,该项目从年龄上看着还算比较年轻😂,整个架构应该是直接使用vue-cli基于vue2生成的,那底层打包工具自然也就是webpack,我们知道webpack有个通病,那就是随着项目的不断增大每次构建的时间也会随之越来越长。比如我们这个项目的单次冷启动就达到了惊人的1 阅读全文
posted @ 2023-05-29 14:06 前端南玖 阅读(553) 评论(0) 推荐(5) 编辑
摘要: 了解CSS Module作用域隔离原理 CSS Module出现的背景 我们知道,Javascript发展到现在出现了众多模块化规范,比如AMD、CMD、 Common JS、ESModule等,这些模块化规范能够让我们的JS实现作用域隔离。但CSS却并没有这么幸运,发展到现在却一直没有模块化规范,由于CSS是 根据选择器去全局匹配元素的 阅读全文
posted @ 2023-03-20 10:42 前端南玖 阅读(658) 评论(1) 推荐(1) 编辑
摘要: 前言 说起媒体查询想必大家最先想到的都是CSS中@media,没错,这是我们最常用的媒体查询方法,主要用来为我们的网站做适配处理。 比如: h1 { font-size: 2rem; color: green; } @media (min-width: 600px) { h1 { font-size 阅读全文
posted @ 2023-03-03 13:28 前端南玖 阅读(498) 评论(1) 推荐(4) 编辑
摘要: JavaScript 中更安全的 URL 读写 前言 URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉中以不安全的方式编写 URL。 比如,我们通常会这样写: const url = `https://www.baidu.com 阅读全文
posted @ 2023-02-01 10:26 前端南玖 阅读(601) 评论(2) 推荐(4) 编辑
摘要: 前言 AST抽象语法树想必大家都有听过这个概念,但是不是只停留在听过这个层面呢。其实它对于编程来讲是一个非常重要的概念,当然也包括前端,在很多地方都能看见AST抽象语法树的影子,其中不乏有vue、react、babel、webpack、typeScript、eslint等。简单来说但凡需要编译的地方 阅读全文
posted @ 2023-01-10 10:54 前端南玖 阅读(916) 评论(0) 推荐(3) 编辑
摘要: 双线程架构 在这之前,我们先来思考一个问题,小程序在架构上为什么会选择双线程? 为什么是双线程? 加载及渲染性能 小程序的设计之初就是要求快速,这里的快指的是加载以及渲染。 目前主流的渲染方式有以下3种: Web技术渲染 Native技术渲染 Hybrid技术渲染(同时使用了webview和原生来渲 阅读全文
posted @ 2022-12-14 11:21 前端南玖 阅读(1077) 评论(0) 推荐(3) 编辑
摘要: 前言 相信大家对JSON.stringify并不陌生,通常在很多场景下都会用到这个API,最常见的就是HTTP请求中的数据传输, 因为HTTP 协议是一个文本协议,传输的格式都是字符串,但我们在代码中常常操作的是 JSON 格式的数据,所以我们需要在返回响应数据前将 JSON 数据序列化为字符串。但 阅读全文
posted @ 2022-12-05 10:29 前端南玖 阅读(1372) 评论(0) 推荐(3) 编辑
摘要: 前言 随着CSS的不断发展,一些很酷且有用的属性要么完全被忽视,要么由于某种原因不像其他常见属性那样被开发者熟练应用。这篇文章我们将一起学习那些CSS中陌生但非常有用的CSS属性,这些属性你可能听说过,也可能没听说过,但了解之后你会觉得它们是如此的实用。 如果这篇文章有帮助到你,❤️关注+点赞❤️鼓 阅读全文
posted @ 2022-11-29 10:21 前端南玖 阅读(493) 评论(2) 推荐(3) 编辑
摘要: 前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态。如果页面加载过慢,你的用户很可能会因此离你而去。所以页面性能对于前端开发者来说可谓是重中之重,其实你如果了解页面从加载到渲染完成的整个过程,就知道应该从哪方面下手了。 嗯,不 阅读全文
posted @ 2022-11-21 10:44 前端南玖 阅读(1604) 评论(0) 推荐(6) 编辑
摘要: 前言 一些布局上的完全加载前后的变化很容易解决:为动态元素预先分配正确的空间,在图像上使用宽度和高度属性,并优先考虑 HTML 文档中的可见元素。但是,导致布局偏移的还有一个难以解决的问题:无样式文本 (FOUT) 的闪烁。 这篇文章我们将探索令人惊讶的复杂文本渲染世界,以及一些解决无样式文本闪烁的 阅读全文
posted @ 2022-11-14 10:28 前端南玖 阅读(843) 评论(0) 推荐(3) 编辑
摘要: 前言 大家在工作中想必都是通过自动化部署来进行前端项目的部署的,也就是我们在开发完某个需求时,我们只需要将代码推送到某个分支,然后就能自动完成部署,我们一般不用关心项目是如何build以及如何deploy的,这就极大得提高了我们的开发效率。 在没有自动化部署的情况下,前端项目的部署流程一般是这样的: 阅读全文
posted @ 2022-11-07 10:25 前端南玖 阅读(1219) 评论(2) 推荐(4) 编辑