摘要: 【NestJS系列】从Nest CLI开始入门 ## 初识Nest JS Nest 是一个渐进的 Node.js 框架,它可以在 TypeScript 和 JavaScript (ES6、ES7、ES8)之上构建高效、可伸缩的企业级服务器端应用程序。 Nest 基于 TypeScript 编写并且结合了 OOP(面向对象编程),FP(函数式编程) 阅读全文
posted @ 2023-07-12 10:28 前端南玖 阅读(934) 评论(0) 推荐(1)
摘要: 性能优化之详解各种指标 ## 前言 上篇文章最后提到了我们可以通过**performance**的一些属性对性能做统计,我们会发现`performance`对象下有非常多的属性,远不止上篇文章提到的`DOMContentLoaded`与`Load`这两个事件。 或许你在浏览器控制台见过它们这些身影:`DCL`、`LCP`、 阅读全文
posted @ 2023-07-10 10:32 前端南玖 阅读(1400) 评论(1) 推荐(3)
摘要: 性能优化之window.onload ## 前言 最近在做一些性能优化相关的工作,相信大家在工作过程中也会遇到一些性能优化相关的场景,这对于前端开发者来讲是一项加分技能。为了我们的用户在使用我们的产品时能够有一个非常好的体验,我们需要对页面进行诊断优化。在行业中,我们的页面P90在两秒内算是达标,超过这个时间那么你就可能会流失部分用户。 阅读全文
posted @ 2023-07-03 10:28 前端南玖 阅读(1409) 评论(2) 推荐(7)
摘要: 【webpack系列】从基础配置到掌握进阶用法 ## 前言 本篇文章将介绍一些`webpack`的进阶用法,演示内容继承自上一篇文章的内容,所以没看过上一篇文章的建议先学习上一篇内容再阅读此篇内容,会更有利于此篇的学习~ ## 文件指纹 > 文件指纹指的是打包输出的文件名后缀,一般用来做版本管理、缓存等 ![w1.png](https://p6- 阅读全文
posted @ 2023-06-25 10:39 前端南玖 阅读(538) 评论(0) 推荐(1)
摘要: 【webpack系列】从核心概念到上手配置 ## 前言 作为前端开发者,相信大家或多或少都接触过`webpack`,现如今`webpack`已经渗透在了前端的各个方面,所以我们有必要来了解并学习`webpack`,`webpack` 是一种用于构建 JavaScript 应用程序的静态模块打包器,它能够以一种相对一致且开放的处理方式,加载应用 阅读全文
posted @ 2023-06-20 14:11 前端南玖 阅读(347) 评论(0) 推荐(2)
摘要: 一文搞懂V8引擎的垃圾回收机制 ## 前言 我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的。为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同场景进行工作。 **如果这篇文章有帮助到你,❤️关注+点赞❤️鼓励一下作者,文章公众号首发,关 阅读全文
posted @ 2023-06-13 10:38 前端南玖 阅读(1058) 评论(0) 推荐(1)
摘要: V8是如何执行JavaScript代码的? ## 前言 一般来讲,电脑是不能直接运行我们的`javascript`代码的,它需要一个翻译程序将人类能够理解的编程语言 JavaScript,翻译成机器能够理解的机器语言。目前市面上有很多种 JavaScript 引擎,诸如 SpiderMonkey、V8、JavaScriptCore 等。而由谷 阅读全文
posted @ 2023-06-12 10:19 前端南玖 阅读(672) 评论(1) 推荐(2)
摘要: pnpm才是前端工程化项目的未来 ## 前言 相信小伙伴们都接触过`npm/yarn`,这两种包管理工具想必是大家工作中用的最多的包管理工具,`npm`作为`node`官方的包管理工具,它是随着node的诞生一起出现在大家的视野中,而`yarn`的出现则是为了解决`npm`带来的诸多问题,虽然`yarn`提高了依赖包的安装速度与使用 阅读全文
posted @ 2023-06-02 13:40 前端南玖 阅读(1274) 评论(1) 推荐(8)
摘要: 如何提升项目的本地构建效率? ## 前言 最近写H5的项目比较多,该项目从年龄上看着还算比较年轻😂,整个架构应该是直接使用vue-cli基于vue2生成的,那底层打包工具自然也就是webpack,我们知道webpack有个通病,那就是随着项目的不断增大每次构建的时间也会随之越来越长。比如我们这个项目的单次冷启动就达到了惊人的1 阅读全文
posted @ 2023-05-29 14:06 前端南玖 阅读(649) 评论(0) 推荐(5)
摘要: 了解CSS Module作用域隔离原理 CSS Module出现的背景 我们知道,Javascript发展到现在出现了众多模块化规范,比如AMD、CMD、 Common JS、ESModule等,这些模块化规范能够让我们的JS实现作用域隔离。但CSS却并没有这么幸运,发展到现在却一直没有模块化规范,由于CSS是 根据选择器去全局匹配元素的 阅读全文
posted @ 2023-03-20 10:42 前端南玖 阅读(845) 评论(1) 推荐(1)
摘要: 前言 说起媒体查询想必大家最先想到的都是CSS中@media,没错,这是我们最常用的媒体查询方法,主要用来为我们的网站做适配处理。 比如: h1 { font-size: 2rem; color: green; } @media (min-width: 600px) { h1 { font-size 阅读全文
posted @ 2023-03-03 13:28 前端南玖 阅读(601) 评论(1) 推荐(4)
摘要: JavaScript 中更安全的 URL 读写 前言 URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉中以不安全的方式编写 URL。 比如,我们通常会这样写: const url = `https://www.baidu.com 阅读全文
posted @ 2023-02-01 10:26 前端南玖 阅读(715) 评论(2) 推荐(4)
摘要: 前言 AST抽象语法树想必大家都有听过这个概念,但是不是只停留在听过这个层面呢。其实它对于编程来讲是一个非常重要的概念,当然也包括前端,在很多地方都能看见AST抽象语法树的影子,其中不乏有vue、react、babel、webpack、typeScript、eslint等。简单来说但凡需要编译的地方 阅读全文
posted @ 2023-01-10 10:54 前端南玖 阅读(1095) 评论(0) 推荐(3)
摘要: 双线程架构 在这之前,我们先来思考一个问题,小程序在架构上为什么会选择双线程? 为什么是双线程? 加载及渲染性能 小程序的设计之初就是要求快速,这里的快指的是加载以及渲染。 目前主流的渲染方式有以下3种: Web技术渲染 Native技术渲染 Hybrid技术渲染(同时使用了webview和原生来渲 阅读全文
posted @ 2022-12-14 11:21 前端南玖 阅读(1268) 评论(0) 推荐(3)
摘要: 前言 相信大家对JSON.stringify并不陌生,通常在很多场景下都会用到这个API,最常见的就是HTTP请求中的数据传输, 因为HTTP 协议是一个文本协议,传输的格式都是字符串,但我们在代码中常常操作的是 JSON 格式的数据,所以我们需要在返回响应数据前将 JSON 数据序列化为字符串。但 阅读全文
posted @ 2022-12-05 10:29 前端南玖 阅读(1592) 评论(0) 推荐(3)