不了解事件循环EventLoop的不是一个好前端er
JavaScript是单线程的脚本语言,意味着它一次只能执行一个任务。然而,现代Web应用常常需要处理异步操作,如网络请求、定时器等,为了让线程不阻塞,Event Loop出现了,它是JavaScript引擎管理异步操作的核心机制。 在Event Loop的学习之前,我们得先弄懂 栈与队列 这两种数据结构以及JavaScript中的 宏任务与微任务 。 栈(stack) :一种先进后出的数据结构,就像一个桶,最先放的得最后才能拿出来。...
在Ubuntu 22.04 LTS 上安装 MySQL两种方式
Ubuntu安装MySQL 介绍: 是一款基于 的免费开源发行版,广受欢迎。它以稳定性、安全性和用户友好性而闻名,适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序,拥有庞大的社区支持和活跃的开发者社区。它的长期支持(LTS)版本获得5年的安全更新,为企业和个人提供了可靠的选择。 Ubuntu的桌面版本具有直观的用户界面,而服务器版本则适用于构建强大的Web服务器和云计算平台。 当你需要 时,有两种主要的方式:在线安装和离...
js核心之async和await的本质
先有问题再有答案 1. 2. 3. 4. 5. 6. 7. 前置文章 1. 2. 3. 设计目的 async/await 的设计主要是为了简化JavaScript的异步编程和提高代码的可读性和可维护性。 在JavaScript中处理异步操作,早期主要依赖于回调函数(callbacks)和事件监听,但这导致代码很容易陷入“回调地狱”,即回调函数套回调函数,使得代码难以阅读和理解。 后来Promise应运而生,虽然它改善了异步操作的书写方式...
nestjs的核心:利用装饰器实现依赖注入,实现类与类的解耦
在上一篇文章《nestjs系列三:nestjs如何通过Module组织代码结构?》( %E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%60@Module%60%EF%BC%8C%60@Controller%60%EF%BC%8C "https://juejin.cn/post/7388470580464844852)%E4%B8%AD%EF%BC%8C%E6...
React 如何实现国际化
在 React 应用中实现国际化(i18n)可以使用多种方法和库。最常用的库之一是 ,它是 的一个 React 绑定库。下面是一个使用 实现国际化的示例步骤: 1\. 安装依赖 首先,安装必要的包: 2\. 配置 i18next 在你的项目中创建一个 文件,并进行以下配置: 3\. 创建语言文件 在 目录下创建一个 文件夹,然后为每种语言创建一个子文件夹,并在每个子文件夹中添加 文件。例如: 每个 文件中包含翻译内容,例如: 4\. 在...
分分钟让你实现图片懒加载
图片懒加载(Lazy Loading)是一种常见的前端性能优化技术,用于改善用户体验和页面加载速度。当用户浏览网页时,并非所有图片都需要立即加载到内存中,特别是那些位于屏幕下方、尚未进入可视区域的图片。通过懒加载,我们只在需要的时候加载图片,从而减少初始页面加载时间,节省带宽资源,提升网站性能。 一、浏览器的工作机制与懒加载的必要性 浏览器解析HTML文档并构建DOM树时,会遇到 标签,这通常触发图片资源的立即下载。然而,在现代Web应...
前端应该掌握的Docker知识
前言 作为一名前端开发者,你可能已经听说过Docker这个词。Docker是一个开源的平台,可以帮助你创建、部署和运行应用程序的容器。它使应用程序可以在任何环境中保持一致的运行状态,这对于前端开发来说,是个巨大的优势。不管是在本地开发、测试环境,还是在生产环境中,Docker都能确保你所编写的代码在不同的环境中运行一致。 为什么前端开发者需要Docker? 在实际的开发过程中,我们经常会遇到各种环境问题。比如:不同团队成员的开发环境配置...
外网向内网导包的坎坷之旅
最近工作遇到个问题,一开始项目是在外网运行的,后来需要导入内网运行,我一开始是把node modules整个目录拷贝过去了,结果运行不起来,可能因为项目是pnpm的,直接从mac拷贝到windows似乎是运行不起来。然后尝试自己下载,缺了好多包,也启动不了运行不起来,最后只好开始了我的导包之旅。 这是一个悲伤的故事,前前后后和对应的人员来回导包4、5次,历时几周才搞完,因为项目不着急,所以就没有急着去搞,真是尴尬。下面就是我的导包之旅:...
浅谈 Webpack5 之模块联邦
Webpack 模块联邦是一种先进的代码共享技术,它允许在多个独立构建的 Web 应用程序之间共享代码,而无需将这些代码提前发布到 npm 仓库或其他中央存储。 这项技术特别适用于微前端架构,因为它能让各个前端团队独立开发、部署自己的应用,同时还能无缝共享组件、库或功能模块。 通俗点说就是在微前端架构中每个应用都是独立的,独立开发,独立部署,在开发过程中避免不了有些模块是重复使用的,如何把这些重复的模块利用起来,一般情况下会通过 npm...