终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

司马南|脱口秀算什么?

自由微信安卓APP发布,立即下载! | 提交文章网址

大前端技术之路

为什么有人说 vite 快,有人却说 vite 慢?

还是未来可期的,还没有开始使用的小伙伴,可以去尝试一下噢,😄。作者:0o华仔o0https://juejin.cn/post/7129041114174062628-
2022年8月29日

如何为 Vue3 组件标注 TS 类型,看这个就够了!

~🌹🌹参考文档:v3.cn.vuejs.org/guide/introduction.html作者:前端阿飞https://juejin.cn/post/7129130323148800031-
2022年8月25日

使用 Vite 和 TypeScript 带你从零打造一个属于自己的 Vue3 组件库

前言随着前端技术的发展,业界涌现出了许多的UI组件库。例如我们熟知的ElementUI,Vant,AntDesign等等。但是作为一个前端开发者,你知道一个UI组件库是如何被打造出来的吗?读完这篇文章你将学会:如何使用pnpm搭建出一个Monorepo环境如何使用vite搭建一个基本的Vue3脚手架项目如何开发调试一个自己的UI组件库如何使用vite打包并发布自己的UI组件库作为一个前端拥有一个属于自己的UI组件库是一件非常酷的事情。它不仅能让我们对组件的原理有更深的理解,还能在找工作的时候为自己增色不少。试问有哪个前端不想拥有一套属于自己的UI组件库呢?本文将使用Vue3和TypeScript来编写一个组件库,使用Vite+Vue3来对这个组件库中的组件进行调试,最后使用vite来对组件库进行打包并且发布到npm上。最终的产物是一个名为kitty-ui的组件库。话不多说~
2022年8月8日

Bun 是否能挑战 Webpack、Vite 的霸主地位 ?

Granja译者:明知山原文:https://betterprogramming.pub/is-bun-the-next-big-thing-after-webpack-d683441f77b9-
2022年8月7日

比 eval 和 iframe 更强的新一代 JavaScript 沙箱!

中可以运行测试,这样外部的JS执行环境不会受到影响,并且每个套件都可以在新环境中启动(这有助于提高可复用性)。网页抓取(从网页中提取数据)和网页应用测试等可以在
2022年8月5日

写好 JavaScript 异步代码的几个推荐做法

{}参考:https://maximorlov.com/linting-rules-for-asynchronous-code-in-javascript/-
2022年8月4日

不用跑项目,组件效果所见即所得,绝了!

天免费体验资格的,为了本文的效果,我先申请了申请网址:https://previewjs.com/checkout填一下自己的邮箱,就申请成功了然后它会把一个兑换码发到你的邮箱里拿着这个码去
2022年8月3日

Vue3 解构赋值失去响应式引发的思考!

培养起来的一代在这里我要替,尤大说句公道话,人家又没收你钱,还因为他,你有口饭吃,您自己不能与时俱进,拥抱新事物,那是您没能耐,这是典型的端起碗吃肉,放下筷子骂娘vuex中组合API赋值在vuex
2022年8月2日

关于微前端架构的几种技术选型,看这篇就够了

背景随着SPA大规模的应用,紧接着就带来一个新问题:一个规模化应用需要拆分。一方面功能快速增加导致打包时间成比例上升,而紧急发布时要求是越短越好,这是矛盾的。另一方面当一个代码库集成了所有功能时,日常协作绝对是非常困难的。而且最近十多年,前端技术的发展是非常快的,每隔两年就是一个时代,导致同志们必须升级项目甚至于换一个框架。但如果大家想在一个规模化应用中一个版本做好这件事,基本上是不可能的。最早的解决方案是采用iframe的方法,根据功能主要模块拆分规模化应用,子应用之间使用跳转。但这个方案最大问题是导致页面重新加载和白屏。那有什么好的解决方案呢?微前端这样具有跨应用的解决方案在此背景下应运而生了!微前端的概念微前端是什么:微前端是一种类似于微服务的架构,是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的应用,而在用户看来仍然是内聚的单个产品。有一个基座应用(主应用),来管理各个子应用的加载和卸载。所以微前端不是指具体的库,不是指具体的框架,不是指具体的工具,而是一种理想与架构模式。微前端的核心三大原则就是:独立运行、独立部署、独立开发微前端的优势采用微前端架构的好处就是,将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性。实现微前端的几种方式从single-spa到qiankun基于WebComponent的micro-appwebpack5实现的Module
2022年7月31日

太酷了!在浏览器中就能体验到功能齐全的终端

https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-search[5]xterm-addon-web-links:
2022年7月30日

React:我们即将和后端 API 告别?

内容,浏览器只负责显示,用户点击按钮,那就重新请求、重新渲染页面,如果页面上需要一些复杂的动态交互,比如让用户可以把一个列表展开/收起,或者是点击某个按钮之后展示一个模态框,那可以借助于
2022年7月29日

2022 年 JavaScript 开发工具的生态,别再用过时的框架了!

Plug’n’Play(PnP)特性虽然不错,能将同一个系统上不同项目引用的相同依赖相同版本指向同一个缓存目录,来提升依赖安装速度。但实践时通常只会用在非常大的
2022年7月28日

如何优雅的治理前端模块依赖关系?

https://github.com/sverweij/dependency-cruiser/blob/develop/doc/real-world-samples.md[2]Dependency
2022年7月27日

5 个一定要学会的 JavaScript 新特性

注意这里obj.hasOwnProperty已经可以过滤掉原型链上的属性,但在某些情况下,它还是不安全。Object.create(null).hasOwnProperty('name')//
2022年7月25日

11+ chrome 高级调试技巧,学会效率直接提升 666%

#$i直接在控制台安装npm包你遇到过这个场景吗?有时候想使用比如dayjs或者lodash的某个API,但是又不想去官网查,如果可以在控制台直接试出来就好了。Console
2022年7月23日

前端监控 SDK 开发分享

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的sentry就可以捕获异常和上报事件,或者使用阿里云的ARMS,功能比较全面也并不会太贵。类似的开源系统或者付费系统还很多,都能满足我们一定的需求。假如这个公司逐渐成长,已经成为一个中大型的公司,用户量、业务服务、公司整体架构全部都在升级,这样三方的监控系统可能就慢慢的出现一些不能满足需求的问题。比如企业内部各种系统之间的关系太独立和分散,不能使用内部的统一登陆、不能相互跳转,想要增加一些字段收集并不能很快得到支持等等。这些问题都会导致效率上不能满足企业发展要求。一个内部可控并且能高速响应企业需求的前端监控系统就显得很有必要。我们在内部的前端监控系统上已经投入了一定的精力和时间,今天分享一下前端监控SDK部分的内容,主要三个方面:收集哪些数据客户端SDK(探针)及原理编写测试用例二、收集哪些数据前端监控系统最核心的首要是收集客户端的相关数据,我们现在支持的客户端探针有:web、微信小程序、andriod和ios。它们主要收集如图以下信息:2.1
2022年7月22日

超全面的前端工程化配置指南

main然后安装语义发版依赖,需要用到semantic-release和它的插件:semantic-release:语义发版核心库@semantic-release/changelog:用于自动生成
2022年7月21日

刷算法题常用的 JS 基础扫盲

介绍此篇主要介绍常用的数组方法、字符串方法、遍历方法、高阶函数、正则表达式以及相关数学知识。文章主要包含以下内容:数组常用方法字符串常用方法常用遍历方法&高阶函数常用正则表达式数学知识一、数组常用方法1.push()在尾部追加,类似于压栈,原数组会变。const
2022年7月17日

如何移除你项目中 99% 的 JS 代码

干掉所有不必要的JS耗时,这里的耗时包括两部分:JS作为静态资源加载的耗时JS运行时的耗时超超超细粒度hydrate如果说传统SSR的粒度是「整个页面」。那么React18的Selective
2022年7月16日

3.5k Star!浏览器扩展开发神器

工具栏以便于访问工作流程开发周期创建一个扩展程序注意:如果您想将src目录用于源代码(tsx和ts),请务必遵守上述tsconfig.json配置要运行交互式初始化向导,请使用以下命令:pnpm
2022年7月14日

关于代码评审( CodeReview )那些不得不说的事儿

https://github.com/xindoo/eng-practices-cn作者:xindoohttps://segmentfault.com/a/1190000041885333-
2022年7月11日

Chrome 102:新增两个 HTML 属性、两个 JS API !

树的一部分,但应该是非交互的。这个属性的在切图的时候还是挺有用的。例如,我们想开发一个模态框,你希望在模态框可见时将焦点聚焦在模态框内。或者,对于用户并不总是可见的抽屉,添加
2022年7月9日

基于 Vue3 和 TypeScript 项目大量实践后的思考

Api的本质,体现在代码里面,也就是一个setup函数,在这个setup函数中,返回的数据,会用到该组件的模板中。return的这个对象,一定程度上,代表了之前vue2中的data属性。import
2022年7月8日

用 CSS 新特性直接实现虚拟列表?JS 往后稍稍

处理长文本、长列表的时候。在滚动页面的过程中,滚动条一直在抖动,这不是一个很好的体验。当然,这也是许多虚拟列表都会存在的一些问题。好在,规范制定者也发现了这个问题。这里我们可以使用另外一个
2022年7月7日

如何把前端项目写成一座屎山?

前言最近几年前端发展的非常快,SPA的繁荣让前端的工程化也越来越重。在很多场景下,前端的复杂度和难度也早已经超过了后端。但快速的发展下,前端也逐渐暴露出了许多问题。众所周知,前端从业人员很少谈程序的设计原则或设计思想。设计模式也顶多是在八股面试时千篇一律的问答“观察者模式”和“发布订阅者模式”。“内聚”和“解耦”这样的词语也很少从前端嘴里蹦出。这就难免导致前端代码写成一座大屎山。而这还是在基于类MVVM框架开发模式的前提下,前端代码天然具有了组件级别的抽象,如果是刀耕火种的MVC时代,更是难以想象。同事负责的一个前端项目频频爆出bug,已经到了修1个bug产生3个bug的程度,甚至很多bug无法定位。问了同事原因,回答项目比较复杂。窃以为项目复杂不是写成屎山的理由(举一个极端的例子,你的项目再难再复杂也不会超过Chrome浏览器,那如果Chrome浏览器项目可以被维护的非常得体,难度更低的项目一定也能找到好的技术方案和架构来应对。)。出于好奇大致浏览了这个项目的代码,发现这就是一座典型的前端大屎山。除了作者本人应该没有任何人可以或愿意接住该项目,未来的命运就只能是招个新人从0开始重构,甚至一行代码都没法参考(我经历过这事!)。纯粹从编写软件的角度,其实目前有很多成熟的代码规范可以参考,甚至规范到变量命名等等。但这里我们暂且只讨论前端这个领域的屎山堆积技巧。精华教程拒绝Ts坚决不用Ts,甚至将Ts写的项目重构成Js代码。去年我被空降了一个leader(多年前就是阿里P7级别)。在看了一眼我维护的富文本编辑器项目之后,告诉我需要重构该项目,重构目标是抛弃Ts,用Js重写。我在纠结了好几天之后,做出了一个艰难的决定。。。拒绝hooks所有组件都用Class组件,拒绝函数组件,拒绝hooks。全面拥抱状态管理器所有状态都通过类似Redux或Mobx等状态管理器去管理。不做模块抽象和复用每个功能都从0开始实现,不抽象任何公共组件,不把高频出现的逻辑抽象成hooks,不抽象出工具函数,坚决不复用任何逻辑。把JSX结构掰开揉碎直接在JSX上写长函数和复杂参数,至少需要达到一眼看上去稀碎,完全无法在脑中构建出页面的样子。编写长长长长长的组件一整个页面只编写1个组件去维护,单个组件代码行数轻松写到1000行以上。父子组件多传参,尽可能多层传递父组件给子组件传非常多参数,然后子组件继续又将这些参数层层往下传递。单文件开发将状态、数据、类型、工具函数、网络请求和组件等等全部放入一个文件中。打破文件组织结构与组件结构关系虽然组件天然是一个多叉树结构,但相应的文件全部平铺到1层。不封装网络请求函数每次请求都创建新的Axios实例,网络请求错误不统一拦截,全部单独catch。样式混用和强行覆盖内联样式与css文件样式混用和覆盖。类名随便起,不要透露结构信息,相同的css代码在各个类上直接复制黏贴一份。遇到冲突的样式强行再覆盖一层。到处修改UI组件库内部样式为了达到设计要求,通过导出类名强行覆盖UI组件库的内部css样式,多用![]mportant魔法。多用Js代替CSS实现效果伪类伪元素等坚决不用,动画过渡等效果也必须通过Js实现。到处使用微前端尽可能的把页面拆成一个个单一功能的微前端应用。不要argue需求对于产品或设计给到的需求全盘接受,尽力实现交互复杂混乱繁冗的功能,获得技术成就感,做一只不挑食的小白兔。评论区补充xdm看家绝技,闻者落泪收益每次提交上线,产品测试后端都围着你充当鼓励师,唯恐出现生产事故大家一起背3.25警告。每天都看起来非常忙,大家排队求你分一点时间处理各种技术问题,都哭着叫你大佬,饱受尊敬。老板对你印象深刻,认为是个技术牛逼的救火队员,夸你勤奋不摸鱼下班晚,周报总是满满当当。公司地位无可撼动,除了你这个项目没人有能力或愿意接住,只能给你加钱,生怕你离职。一则旧闻魏文王问扁鹊:“你们家兄弟
2022年7月5日

9.6K Star!可扩展的 JS 富文本编辑框架!

转换回实例对象editor.parseEditorState()编辑器更新如果想要更改编辑器状态中的某些内容,必须通过更新操作来完成:editor.update(()
2022年7月4日

ES 2022 正式发布!有哪些新特性?

https://www.ecma-international.org/news/ecma-international-approves-new-standards-6/[2]Shu-yu
2022年7月1日

44 道 JS 难题,做对一半就是高手

国外某网站给出了44道JS难题,试着做了下,只做对了17道。这些题涉及面非常广,涵盖JS原型、函数细节、强制转换、闭包等知识,而且都是非常细节的东西,透过这些小细节可以折射出很多高级的JS知识点。你可以通过传送门(http://javascript-puzzlers.herokuapp.com/)先去测试一下你的水平,然后回来看看我的解析。为了详细解释这些细节,我也查阅了不少资料,弥补了很多JS知识盲点。1.
2022年6月27日

前端配置化真香~上班又多了 60% 的摸鱼时间

(当然,如果你对render函数不是特别熟悉,那么写template也是可以的)接下来,我们看看,如何通过render函数,把我们的表单项做出来,以上述案例其中一个为例子:
2022年6月23日

2022,VSCode 前端插件推荐

Converter功能:在字符串中输入$触发,将字符串转换为模板字符串vscode-pigments插件名:vscode-pigments功能:实时预览设置的颜色Parameter
2022年6月22日

某一线前端小组长的 Code Review 分享

新一代前端构建工具汇总觉得本文对你有帮助?请分享给更多人关注「大前端技术之路」加星标,提升前端技能点赞和在看就是最大的支持❤️
2022年6月21日

前端工程化:保姆级教学 Jenkins 部署前端项目

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

看了 9 个开源的 Vue3 组件库,发现了这些前端的流行趋势

Font的缺陷,主要有以下几方面:浏览器将其视为文字进行抗锯齿优化,有时得到的效果并没有想象中那么锐利。尤其是在不同系统下对文字进行抗锯齿的算法不同,可能会导致显示效果不同。Icon
2022年6月17日

17.6K Star! 一款快速高效的包管理工具

不过,无论依赖项的数量和依赖关系图的深度如何,布局都会保持这种结构。如果这时,添加qar@2.0.0为bar和foo的依赖项:node_modules├──
2022年6月17日

离谱!CSS 变量自动变色技术

偶尔在网上看到这样一个设计,当阅读量比较少时,文字呈灰色,当阅读量比较多(>=100)时,文字就变成褐色了,示意效果如下是不是非常醒目呢?另外,还有那种可以根据进度自动变色的进度条,如下其实通过纯
2022年6月15日

[调研报告] 新一代前端构建工具汇总

会在加载特定后缀文件的时候触发,通常用于将浏览器无法处理的文件类型转化成浏览器能运行的文件,除了可以更改文件内容外,也可以更改最终输出的文件类型。例如插件@snowpack/plugin-vue
2022年6月14日

看完就懂的前端拖拽那些事

event.dataTransfer.getData('text/plain');});可以看到在蓝色方块设置的数据被成功取得了。DataTransferItemList属性length:
2022年6月13日

面试官问:Vue3 对比 Vue2 有哪些变化?

使用它,需在模板中声明,并包括两个命名插槽:default和fallback。Suspense确保加载完异步内容时显示默认插槽,并将fallback插槽用作加载状态。
2022年6月10日

Web 中的“选区”和“光标”需求实现

HTMLyux阅文前端真实结构是这样的我们也可以通过childNodes获取子节点div.childNodes如果要选中“阅文”该怎么做呢?由于“阅文”是一个独立的标签,可以用到另外两个新的
2022年6月9日

JS 运行机制最全面的一次梳理

前言最近发现有不少介绍JS单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑。因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料,从浏览器多进程到JS单线程,将JS引擎的运行机制系统的梳理一遍。展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系,
2022年6月8日

vue 项目你一定会用到的性能优化!

Shift)。在一般情况下,据我的经验,由于性能监控平台的和本地平台的差异,本地可能要达到70分,线上才有可能达到及格的状态,如果有性能优化的需求时,大家酌情处理即可(不过本人觉得,及格即可,
2022年6月6日

我帮一朋友重构了点代码,他直呼牛批,但基操勿六

https://www.npmjs.com/package/r6helper作者:闲D阿强链接:https://juejin.cn/post/7085674288933502984-
2022年6月1日

如何用一行 CSS 实现 10 种现代布局

不同,当屏幕尺寸改变时,本例不会包含它的子元素。通常称为粘性页脚,这种布局通常用于网站和应用程序,跨多个移动应用程序(页脚通常是工具栏)和网站(单页应用程序通常使用这种全局布局)。向组件添加
2022年5月31日

助你成为 CSS 大师的 18 个 GitHub 仓库

资源列表。参考:https://madza.hashnode.dev/18-github-repositories-to-become-a-css-master-
2022年5月30日

JS 代码越来越难读了 ...

操作系统有一个管道机制,可以把前一个操作的值传给后一个操作。这个机制非常有用,使得简单的操作可以组合成为复杂的操作。许多语言都有管道的实现,举个简单的例子:function
2022年5月27日

大文件怎样实现快速上传?

hash,如果存在此时直接复用这个文件资源即可,不需要前端在发起额外的上传请求.最后前端分片上传的内容单纯从理论上来看其实还是容易理解的,但是实际自己去实现的时候还是会踩一些坑,比如服务端接收解析
2022年5月26日

我是如何带领团队从零到一建立前端规范的?

前言不以规矩,不能成方圆。本人有幸经历了团队从缺乏标准到逐渐规范的一个过程,在此当做记录供大家参考。本文从为什么需要规范以及建立规范的重要性出发,逐步引申出如何去建立适合自己团队的规范,详细讨论了前端具体涉及到的规范都有哪些,部分小节有具体的配置步骤和操作链接。文中涉及到的所有配置均放在github上的
2022年5月25日

手摸手教你 docker+jenkins+gitlab 部署你的前端项目

ps:记得把ssl验证给取消好了,到这时候,就打通了gitlab到jenkins的过程,进度完成了一大半了,加油~~~~4.创建你的vue项目前提:请准备好你的vue项目,并且能确保npm
2022年5月24日

如果面试遇到水货面试官,怎么办?

一、剖析水货面试官水货面试官面试的时候,有很多人都会有个心理预期:面试我的人一定很厉害,很牛。其实,现实不是这样的。水货面试官的产生公司中的技术人员配比,都是按比例的。比如人员配比是1:2:7中,1成是技术专家级别,2成是资深高级研发,7成是普通研发。团队中的杂活和累活,一般都是让普通研发去参与完成。具体到面试这个任务,我们可以按面试流程,细分下人员安排。以下是业务场景:公司HR很努力,从各个渠道收集到简历数1万份,通过机器初筛,把学历、年限各种筛选因子考虑进去,得到有效简历1千份。1千份的简历,如果全让公司的技术专家、资深研发面试,肯定是面试不过来的。怎么办?解决方案可以从数据分析的角度来讲,就是减少脏数据。面试前,加入笔试环节,对应聘者进行初筛。这一环节通过的简历数是200份。200个人的面试,对于公司稀缺的高级技术资源来讲,还是太多了。解决的方式就是从普通开发中,培养初级面试官,让他们充当流水线工人的角色。把200个人,通过培训的筛选技巧,对面试者进行面试。通过初级面试官的筛选,会剩下100人左右的简历。接着,再由资深高级研发,进行第二轮面试,筛选下10人左右的简历。最后,由技术专家和部门领导面试、把关,决定要不要发Offer。这其中,初级研发充当的面试官,就有一部分是今天要讲的水货面试官。为什么会有水货面试官首先,按第一节的分析,有水货面试官是正常的。不管是大中小厂,都会存在这个问题(笔者曾在字节、腾讯中遇到过)。设想一下,当我们学习下新技术的时候,都会有一个学习曲线。当经验到达一定程度,对技术的应用才会得心应手。聚焦到面试官这个角色,其实它也可以归类为一项技能。既然它是一项技能,那么也会一样的学习曲线和入门过程。而水货面试官的产生,一般都是在入门级的时候。水货面试官的类型这个阶段的面试官,可分为两种类型:同理心强型、优越感型。同理心强型这一类型的面试官,会专心接受公司的面试培训,努力掌握技巧。在与面试者对话时,会问很细节的技术问题,比如
2022年5月21日

迄今为止最全的前端监控体系搭建篇(长文预警)

响应时间也是一个需要监控的点。一旦系统的某个子系统出现异常或者性能瓶颈将会导致系统的响应时间变长。响应时间可以在nginx一类的反向代理上监控,也可以通过应用自己产生访问日志来监控进程监控
2022年5月19日