前端大全

其他

Next.js为何不用Vite?却选择了自造轮子Turbopack!

开发应该是什么样子的总体情况。其中一个主要议题是关于代码如何从服务器->客户端->服务器->客户端,简言之,如果您熟悉的话,就是服务器操作,特别是服务器操作可以返回包含额外客户端组件的
8月16日 上午 11:50
其他

什么?原来前端错误上报这么简单!!

作者:用户不会像你这么操作的https://juejin.cn/post/7383955685368086562前言项目上线之后,用户如果出现错误(代码报错、资源加载失败以及其他情况),基本上没有办法复现,如果用户出了问题但是不反馈或直接不用了,对开发者或公司来说都是损失。由于我这个项目比较小,只是一个迷你商城,所以不需要收集很复杂的数据,只需要知道有没有资源加载失败、哪行代码报错就可以了,市面上有很多现成的监控平台比如sentry,在这里我选择通过nodejs自己搭一个服务。概述我的项目是使用Vue2写的,所以本文主要是讲Vue相关的部署过程1、部署后台服务(使用express)2、收集前端错误(主要是Vue)3、提交信息到后台分析源码位置及记录日志js异常处理function
8月16日 上午 11:50
其他

构建更快的 Web 体验 - 使用 postTask 调度器

译者:@古茗科技译文:https://juejin.cn/post/7208732065696497723作者:@Callie原文:https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-前言介绍了如何利用
8月14日 上午 11:51
其他

精进 JavaScript | 这些手写你都会吗 ?

作者:邵小白https://juejin.cn/post/7137961562794852383前言不知道今年大家有没有感受到来自互联网的“寒气”,至少我是感受到了,面试的时候手写代码时很常见很常见的事情了。有时候没遇到过还真一时半会写不出来,企业招聘的要求也是越来越高,尤其是一些大厂会对
8月12日 上午 11:50
其他

前端 Chrome 调试技巧最全汇总

作者:安木夕https://juejin.cn/post/7248118049584316472注:本文测试、截图均为Edge浏览器(内核是Chromium),浏览器内核可了解《有哪些浏览器/内核?[1]》00、基础操作汇总操作类型快捷键/说明切换浏览器标签🔸
8月9日 上午 11:51
其他

前端部署真的简单么

Docker进行自动化部署。进行到这里,是不是觉得还是很简单的。别急,进阶一下试试~为什么要进阶呢?因为这关系到线上生产环境的稳定和性能。那让我们从原始的前端开发讲起。上图是一个
8月7日 上午 10:20
其他

单点登录(SSO)实现详解!!!

单点登录实现。3、相同域名,不同子域名下的单点登录:在浏览器端,根据同源策略,不同子域名的cookie不能共享。所以设置SSO的域名为根域名。SSO登录验证后,子域名可以访问根域名的
8月5日 上午 11:50
其他

非常有用的 48 个 JavaScript 代码片段,值得收藏!

译者:已禁用译文链接:https://juejin.cn/post/6844903560212135949原文链接:http://codebay.cn/post/7452.html日常工作上,大家经常都会保存一些自己常用的代码片段,比如数字每3位添加逗号、日期格式化、解析location.query或location.hash为JSON对象等等。今天带来一篇外网非常火的文章,收集了JavaScript中48个常用的代码片段,同学们可以学习下,部分片段在面试中也经常遇到。下面是正文部分。该项目来自于
8月5日 上午 11:50
其他

Promise:为什么没有取消?

作者:德玛西亚大宝剑之力https://juejin.cn/post/7373986431850872869在JavaScript中,Promise是用于处理异步操作的对象,它代表一个异步操作的最终完成(或失败)及其结果值。然而,JavaScript的Promise并不提供内置的取消(cancel)机制。Promise是经过了深思熟虑,才不自带取消功能的!!!这篇文章,将围绕着设计的哲学,以及从状态机的角度,解释为什么不需要cancel。即使如此,文章最后部分,还是会提供一些方法,来实现一下cancle。设计的哲学设计理念Promise的设计初衷是为了简化回调函数的使用,使得处理异步操作的代码更加简洁和可读。其设计重点在于处理异步操作的成功和失败,而不是控制操作的生命周期。取消机制会引入复杂性,尤其是对于依赖于多个Promise的情况,例如Promise.all或Promise.race。如果某个Promise被取消,其影响可能会传递给其他依赖于它的Promise,导致意外的行为和难以调试的问题。资源管理异步操作通常涉及到外部资源,如网络请求、定时器等。Promise取消机制需要能够正确管理和释放这些资源。实现一个通用且可靠的资源管理机制非常复杂,并且可能因不同的资源类型而异。取消语义不明确如果一个Promise可以被取消,那么需要明确如何处理其已完成的状态。特别是,处理已经部分完成或即将完成的操作,可能会导致不一致的状态。状态机:简单就是美Promise的状态机在输入一个状态时,只得到一个固定的状态。一个Promise可以被看作是一个简单的状态机,它有以下几种状态:Pending(进行中)
8月2日 上午 11:50
其他

Node.js 将原生支持 TS!

https://github.com/nodejs/node/pull/53725#issuecomment-2209238883[3]实验性支持
7月30日 上午 11:50
其他

都应该会的前端代码规范 - 日志打印规范

作者:南城FEhttps://juejin.cn/post/7355321162530914338在前端开发中,随着项目迭代升级,日志打印逐渐风格不一,合理的日志输出是监控应用状态、调试代码和跟踪用户行为的重要手段。一个好的日志系统能够帮助开发者快速定位问题,提高开发效率。本文将介绍如何在前端项目中制定日志输出规范。1.
7月26日 上午 11:50
其他

Chrome 居然提供了可以直接调用 LLM 的 API!

功能也是一样,其中模型的大小可能会在几十到几百兆字节之间。每个使用这些模型的网站都需要在用户打开网页时下载这些大模型,这对开发者和用户来讲,并不是一件轻松的事情。为此,Google
7月26日 上午 11:50
其他

一种适合 H5 屏幕适配方案

查询来处理其他的响应式设计需求,比如调整布局、隐藏或显示元素等。这种方式简化了响应式设计,使得样式统一管理更加简单,同时保留了灵活性和适应性。6.
7月24日 上午 11:57
自由知乎 自由微博
其他

一个新的 HTML 元素:<permission>!

获取用户的地理位置时,浏览器会提示用户申请权限,这是权限规范中定义明确的概念。申请权限的触发方式一般分为两类,被动隐式触发,或者主动显示触发:例如,Geolocation
7月24日 上午 11:57
其他

减少样式计算的范围和复杂度

会导致浏览器重新计算元素样式,并在许多情况下重新布局页面的部分或全部内容。这个过程称为计算样式计算。浏览器开始计算样式,通过创建一组匹配选择器来确定哪些类、伪类和
7月22日 上午 11:50
其他

面试官:如果一个NPM包部分功能不满足需求,如何修改其部分功能~

result;}在项目中的其他部分,你可以直接引入并使用这个封装模块,而不是直接使用第三方包。这样,你就可以利用修改后的功能,同时避免了对第三方包的直接修改。import
7月22日 上午 11:50
其他

前端如何体系化性能优化?

作者:Bonniehttps://juejin.cn/post/7363830946908979239在当今数字时代,网站的性能对于吸引和保留用户至关重要。用户不愿意等待缓慢的加载时间,而快速响应的页面将帮助您留住访问者,提升转化率。前端性能优化是实现这一目标的关键因素之一。在本文中,我们将探讨一些重要的前端性能优化策略,以提高网站速度、交互性和用户满意度。loading-is-a-journey.png测量工具Chrome
7月20日 上午 11:50
其他

给你的 H5 页面加上惯性滚动吧!

可以发现,在增加惯性滚动,边缘回弹等效果之后,明显流畅、舒服了很多。那么,这些效果是怎么实现的呢?在用户滑动操作结束时,还会继续惯性滚动一段。首先看一下源码中的函数,这是
7月19日 上午 11:51
其他

VSCode无限画布模式(可能会惊艳到你的一个小功能)

❓现存的痛点VSCode是我的主力开发工具,在实际的开发中,我经常会对编辑器进行分栏处理,组件A的tsx、css代码、工具类方法各一个窗口,组件B的tsx、css代码、工具类方法各一个窗口,组件C的......当组件拆的足够多的时候,多个分栏会把本就不大的编辑器窗口分成N份,每一份的可视区域就小的可怜,切换组件代码时,需要不小的翻找成本,而且经常忘记我之前把文件放在了那个格子里,特别是下面的场景(一个小窗口内开了N个小tab),此时更难找到想要的窗口了...问题汇总分栏会导致每个窗口的面积变小,开发体验差(即使可以双击放大,但效果仍不符合预期);编辑器窗口容易被新打开的窗口替换掉,常找不到之前打开的窗口;窗口的可操作性不强,位置不容易调整。💡解题的思路1.
7月17日 上午 11:50
其他

React 渲染流程可视化,有大佬实现了!

https://github.com/JSerZANP/react-source-code-walkthrough-en/blob/main/memo/[2]RIE(React
7月17日 上午 11:50
其他

前端项目路径别名终极解决方案

作者:CondorHerohttps://juejin.cn/post/7280745727160434747关于路径别名一个前端项目通常会演变成复杂的嵌套目录结构。因此,使用相对路径导入可能会变得更长且更混乱,这可能会对代码的外观产生负面影响,并让辨识代码的来源变得更加困难,更加重要的是代码文件位置变动相对路径就得改变。使用路径别名即绝对路径导入,不仅解决了理解导入路径的问题,而且还简化了重构期间代码移动的过程,美丽且直观。//
7月15日 上午 11:51
其他

重磅更新!ECMAScript 2024 全新特性全面解析

letters/[[\p{ASCII}&&\p{Letter}]\p{Number}]/v;
7月15日 上午 11:51
其他

每个前端都要学的【前端自动化部署】,Devops,CI/CD

pollingjenkins9.jpg由于在上面的源码管理中已经指定了main分支,此时如果这个分支的代码有改动就会触发自动构建。构建目标:部署到目标主机在真实的开发场景中,Jenkins
7月10日 上午 10:20
其他

纯前端怎么实现检测版本更新,请看这篇!

});}方案一:比较构建文件的hash值该方案需要webpack开启打包文件带上hash值,具体配置不在此处展开。通过定期获取服务器的前端资源,匹配资源中的
7月8日 下午 1:00
其他

手把手教你写一个前端脚手架

作者:猪头切图仔https://juejin.cn/post/7260893255189758010引言脚手架是什么,相信各位已经熟悉得不能再熟悉了,毕竟无论是vue开发者(vue-cli)还是react(create-react-app)开发者,他们都有各自的脚手架,个人虽是用react更多,但不得不说是更喜欢vue-cli的,它的插件机制非常有意思,虽不如webpack的plugin那么方便,但也很强大。不过再讲这强大的功能之前,原谅我先水一篇脚手架的基础。脚手架会分两篇来讲,本篇为基础篇,讲一讲最简单的脚手架如何搭建,入个门。正文概念与优点相信很多开发者都有这么一段经历,那就是在开始新项目之前,先把旧项目拉下来,删删减减,只留下初始化项目时的配置,一切业务代码都删了,然后再开始新项目的开发。一次两次如此做还好,但再多了就很厌烦,特别是删代码还很难保证项目的纯净,会出现漏删或者删多了的问题。而这时候,你就需要一个脚手架。脚手架是什么,他就是一个纯净的项目,可以完全不包含业务代码,每次开始新项目之前,跑一下脚手架的命令,那么一个纯净的项目就初始化出来了,可以直接在这之上进行开发。无论是公司还是个人私底下做项目练手,都极其建议写一个脚手架,就算是像本文这样做一个最简单的也是好的。那么,脚手架该如何做搭建呢,请移步到下文~实现前提:所使用到的第三方库Commander[1]
7月5日 上午 11:50
其他

ESLint 团队即将废除所有格式化规则!

来提高代码质量和格式化源码,因此,我们不会轻易做出这样的重大决定。不幸的是,我们一直以来的行事方式进退两难,我们被迫这样改变。专用源码格式化程序的普遍存在和人气爆棚使这一决定变得更加容易,因为
7月5日 上午 11:50
其他

Node.js + typescript 写一个命令批处理辅助工具

那么它不能再监听css变化去压缩代码,否则会无限编译下去。那么为什么不使用webpack或者rollup之类的打包工具呢?首先是这些打包工具太重了不够灵活,毕竟原项目没到重构的时候,
7月3日 上午 11:50
其他

前端最新趋势:JS 正在向服务器端转移、开发者最爱 Vue 技术栈、Bun 越来越受关注

继续占据主导地位,是应用程序开发人员和框架作者的共同选择。很难想象如果没有它,我们今天会在哪里!完整报告内容查看:https://2023.stateofjs.com/zh-Hans/推荐阅读
7月3日 上午 11:50
其他

Node.js 开发者需要知道的 13 个常用库

编程的服务器端运行环境。它的异步特性和跨平台互操作性使其成为流行的网页开发基础。Node.js
7月1日 上午 11:50
其他

你不知道的 async、await 魔鬼细节

函数完全执行完毕;比如这里的数字6很晚才输出,如果单纯看成then的话,在下一个微任务队列执行时6就应该作为同步代码输出了才对。所以我们可以合并两个函数的代码👇async
6月30日 上午 11:50
其他

你们喜欢用 forEach 吗?说说我为啥不喜欢用 forEach~

作者:码的是生活https://juejin.cn/post/7207411012487381051老实说我不喜欢用forEach,因为它导致的一些bug总是这么不经意,盘点我不喜欢的原因原因一:不支持处理异步函数先看一个例子:async
6月28日 上午 10:20
其他

领导被我的花式console.log吸引了!直接写入公司公共库!

背景简介这几天代码评审,领导无意中看到了我本地代码的控制台,被我花里胡哨的console打印内容吸引了!老板看见后,说我这东西有意思,花里胡哨的,他喜欢!但是随即又问我,这么花里胡哨的东西,上生产会影响性能吧?我自信的说:不会,代码内有判断的,只有开发环境会打印!老板很满意,于是让我给其他前端同事分享一下,讲解下实现思路!最终,这个方法还被写入公司的公用utils库里,供大家使用!console简介console
6月27日 上午 11:50
其他

单页面首屏优化,打包后大小减少64M,加载速度快了13.6秒

优化后体积(三倍左右的代码体积减少,打包后大小减少64M!)总大小首屏代码大小Stat30.2M15.2MParsed16.6M6.2MGzipped4.3M1.9M4.
6月25日 上午 11:50
其他

项目中前端如何实现无感刷新 token!

前一阵遇到了一个问题,线上平台有时会出现用户正在使用的时候,突然要用户去进行登录,这样会造成很不好的用户体验,但是当时一直没有好的思路因此搁置了下来;通过零散时间查询资料以及思考,最终解决了这个问题,接下来跟大家分享一下!环境请求采用的
6月22日 上午 11:50
其他

React 19 差点拖慢整个互联网!核心团队紧急叫停

初衷,在某些情况下还是有意义的,比如当数据在整个视图树中都被共享时、需要在多个组件之间协调数据加载状态时。如果数据只用于单个组件,并且也不需要在组件间共享加载状态,那么直接查询数据而不使用
6月20日 上午 8:08
其他

你真的懂HTTP缓存吗?

作者:程序员小杨v1https://juejin.cn/post/7281088405189427215背景需求开发中不断的往项目中添加图片、字体等这些静态资源使得项目打包体积越来越大。打包后这些静态资源占据了包体积的大部分。基于此,我们准备将静态资源从项目中移出来放到
6月15日 上午 11:50
其他

探讨6个最好的 JavaScript 和 Node.js 网络爬虫库

转自:网络作为一名程序员,你是否曾遇到过需要从各大网站提取数据的需求?随着互联网的快速扩展,能够高效地进行网络爬虫已经成为企业、研究人员以及个人的一项重要技能。在这个数据为王的时代,如何利用JavaScript和Node.js来实现高效的数据抓取,是每一个开发者都应该掌握的技巧。网络爬虫,即从网站提取数据的过程,已经成为各行各业的重要工具。而JavaScript和Node.js因其强大的功能和丰富的库,成为了网络爬虫的首选语言。通过这些库,我们可以简化爬虫过程,并提升其功能和效率。在这篇文章中,我们将深入探讨6个最好的JavaScript和Node.js网络爬虫库,分析它们的功能、优点和缺点。无论你是初学者还是高级用户,这篇指南都将为你选择合适的网络爬虫解决方案提供宝贵的知识和见解。一、
6月13日 上午 11:50
其他

8 个关于 Promise 高级用途的技巧

转自:网络我发现很多人只知道如何常规地使用promise。在js项目中,promise的使用应该是必不可少的,但我发现在同事和面试官中,很多中级以上的前端仍然坚持promiseInst.then()、promiseInst.catch()、Promise等常规用法等等。即使是
6月11日 上午 10:20
其他

VSCode深度配置 - settings.json

"`~!@%^&*()=+[{]}\\|;:'\",./?(),。;:",}折行缩进策略和关闭右侧代码地图关闭右侧代码地图大家自己选择,反正我觉得碍眼{
5月23日 上午 11:50
其他

npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了

完整镜像至中国服务器(用的是阿里云),这里面就包括上述的盗版资源。用了国内的服务器,速度自然更快……当然这也不是盗版团伙第一回干这种事了,去年国外的安全研究团队就介绍了
5月21日 上午 9:06
其他

前端第一可视化库、百度知名开源项目——ECharts创始人“下海”养鱼

年加入蚂蚁集团后,成为蚂蚁集团中台产品体验技术和数据可视化方向负责人,带着几百人团队。在投身最传统的行业后,林峰和
5月17日 上午 11:50
其他

面试官:谈谈前端路由的实现原理【hash&history】

作者:Dolphin_海豚https://juejin.cn/post/7321049431489544229今天我们来聊一聊前端路由。当谈到前端路由时,指的是在前端应用中管理页面导航和URL的机制。前端路由使得单页应用(Single-Page
5月17日 上午 11:50
其他

ES7、ES8、ES9、ES10、ES11、ES12都增加了哪些新特性?

作者:南殇https://juejin.cn/post/7243677232827891773ES7ES2016(ES7)中新增了如下特性👇Array.prototype.includesExponentiation
5月16日 上午 10:10
其他

关于小程序如何做到强制更新

前言在小程序的日常迭代中,有一些场景我们可能需要在小程序发布后,用户能够马上感知并更新,比如上线新活动、修复高危漏洞等,如果用户因为各种原因未能及时更新小程序,这就可能导致一些功能无法正常使用或者存在安全隐患,因此,实现小程序的强制更新功能就显得尤为重要。本文将探讨小程序如何做到强制更新,以确保用户始终使用最新、最安全的小程序版本。小程序的运行机制在这之前,我们得先来了解一下小程序的生命周期,从启动到销毁它都是如何进行的生命周期小程序的启动广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动。从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。前台与后台前台:小程序的「前台」状态一般指的是小程序处于打开状态,页面正在展示给用户后台:当用户关闭小程序时小程序并没有真正被关闭,而是进入了「后台」状态切后台的方式包括但不限于以下几种:点击右上角胶囊按钮离开小程序iOS
5月15日 上午 11:50
其他

vue3 早已具备抛弃虚拟 DOM 的能力了

http://localhost:5173/,此时断点就会走到transformElement函数中了。我们看到transformElement函数中的代码是下面这样的:const
5月15日 上午 11:50
其他

React:我们的用法习惯可能是错误的

)}如果想传递ref需要借助forwardRef函数。解决方法借助forwardRef转发ref属性import
5月14日 上午 10:20
其他

JavaScript 可视化:Promise执行彻底搞懂

XMLHttpRequest),或者像定时器(setTimeout)这样简单的任务。当这些任务在未来某个未知的时间点完成时,我们可以使用此类异步操作通常提供的回调功能,要么使用异步任务返回的数据进行
5月13日 上午 11:50
其他

三年前端还不会配置Nginx,被老板打了,今天一口气学完

*.rpm❺进入解压后的nginx目录,然后执行Nginx的配置脚本,为后续的安装提前配置好环境,默认位于/usr/local/nginx/目录下(可自定义目录):[root@localhost]#
5月10日 上午 11:51
其他

3 个超酷的 Node.js 新功能!

模块在这个场景已经是标配功能了。有时只是写一个简单的脚本,做些测试或其它场景可能不太需要第三方模块,此时
5月9日 上午 11:50
其他

React 并发 API 实战,这几个例子看懂你就明白了

true,以及一次低优先级更新,包含你传递给startTransition的实际状态更改。所以要小心,用React.memo包裹“昂贵”的组件。我们还有另一个新
5月7日 上午 11:50