首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端漫谈
nuIl
创建于2021-05-13
订阅专栏
致力于分享有趣、高质量的前端原创文章
等 111 人订阅
共38篇文章
创建于2021-05-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
使用 MonoRepo 管理前端项目
在工作中,我们可能会遇到一些项目管理方面的问题。在单个项目管理的时候,大家都知道该怎么管理。一旦涉及到多个项目管理,很多人就不一定能够管理好了。 这篇文章主要讲解一下 monorepo 在我们团队的应用。 在通常情况下,我们新开一个项目会先在 Github 上面创建一个新仓库,…
一文搞懂 Dynamic Import 和 Top-level await 提案
1. 前言 随着 ES6 的发布,JavaScript 语法也越来越趋于成熟,新的提案也在不断地提出。 ECMA 提案一共有四个阶段,处于 Stage3 的都需要我们持续关注,以后很可能就会被纳入新标准中。 今天主要来深入讲解一下动态 import 和 Top-level aw…
当 React Hooks 遇见 Vue3 Composition API
1. 前言 关于 React Hooks 和 Vue3 Composition API 的热烈讨论一直都存在,虽然两者本质上都是实现状态逻辑复用,但在实现上却代表了两个社区的不同发展方向。 我想说,小孩子才分好坏,成年人表示我全都要。 2. 你不知道的 Object.defin…
用 ES6 Proxy 能做哪些有意思的事情?
在武侠小说中,经常看到这样的桥段。某位武林人士前来拜访德高望重的帮派掌门,往往需要经过手下弟子的通报。如果掌门外出或者不想见来人,就会让弟子婉拒。 今天要讲的 Proxy 和这个有异曲同工之妙。顾名思义,Proxy 的意思是代理,作用是为其他对象提供一种代理以控制对这个对象的访…
从零实现 redux 和 react-redux
1. 前言 在前端圈子有这样一种说法,Vue 入门最简单,React 学习曲线太陡,Angular...我还是选择狗带吧。 在 React 诞生之初,Facebook 宣传这是一个用于前端开发的界面库,仅仅是一个 View 层。前面我们也介绍过 React 的组件通信,在大型应…
都2020年了,你还不会JavaScript 装饰器?
1. 前言 装饰器是最新的 ECMA 中的一个提案,是一种与类(class)相关的语法,用来注释或修改类和类方法。装饰器在 Python 和 Java 等语言中也被大量使用。装饰器是实现 AOP(面向切面)编程的一种重要方式。 下面是一个使用装饰器的简单例子,这个 @reado…
从 underscore 源码看节流函数实现
Javascript 中的函数大多数情况下都是用户调用执行的,但是在某些场景下不是用户直接控制的,在这些场景下,函数会被频繁调用,容易造成性能问题。 比如在 window.onresize 事件和 window.onScroll事件中,由于用户可以不断地触发,这会导致函数短时间…
underscore源码剖析之整体架构
最近打算好好看看underscore源码,一个是因为自己确实荒废了基础,另一个是underscore源码比较简单,比较易读。 本系列打算对underscore1.8.3中关键函数源码进行分析,希望做到最详细的源码分析。 今天是underscore源码剖析系列第一篇,主要对und…
underscore源码分析系列
去年我写过一系列的underscore源码分析的文章,但没在掘金发过,这次打算整理一下发到掘金上,计划是一天发一篇的节奏。 文章一共有8篇,原本计划写9篇,可最后一篇由于当时比较忙就停下了,这8篇文章可以起到源码阅读的引导作用,毕竟underscore源码非常简洁,也有助于自己…
js函数柯里化
由于最近离职找工作的事情,好久不写文章了,就只好把2017年写的文章搬出来骗骗赞了hhh。 用我自己的话来总结一下,函数柯里化的意思就是你可以一次传很多参数给curry函数,也可以分多次传递,curry函数每次都会返回一个函数去处理剩下的参数,一直到返回最后的结果。 这里每次传…
浅谈react diff实现
有很多文章讲过react的diff算法,但要么是晦涩难懂的源码分析,让人很难读进去,要么就是流于表面的简单讲解,实际上大家看完后还是一头雾水,因此我将react-lite(基于react v15)中的diff算法实现稍微整理了一下,希望能够帮助大家解惑。 对于react dif…
如何写好前端业务代码?
如何写出可维护和可读性高的代码,这一直是一个困扰很多人的问题。关于变量如何起名、如何优化if else之类的小技巧,这里就不做介绍了,推荐去看《代码大全2》,千书万书,都不如一本《代码大全2》。 工作以来,我一直在写一些重复且交互复杂的页面,也没有整理过自己的思路,这篇文章是我…
寒冬中的前端社招面试
本人17年毕业至今,一年多工作经验,三月中旬加入了找工作的大潮。这里整理了一下最近面试的题目,分享给大家。 那来做道题吧。实现一个函数,可以按顺序获取到一个DOM节点下面所有的文本。 感觉技术栈和这家可能不是很匹配,他们主要做h5和小程序,h5也以vue居多,所以这些问题基本上…
如何写出更优雅的条件判断
在我们平时的开发中,if else是最常用的条件判断语句。在一些简单的场景下,if else用起来很爽,但是在稍微复杂一点儿的逻辑中,大量的if else就会让别人看的一脸蒙逼。 如果别人要修改或者新增一个条件,那就要在这个上面继续增加条件。这样恶性循环下去,原本只有几个if …
mobx 项目实践
由于 redux 需要写很多繁琐的 action 和 reducer,大部分项目也没有复杂到需要用到 redux 的程度,导致不少人对 redux 深恶痛绝。mobx 是另一种状态管理方案,这里分享一下我最近使用 mobx 的经验。 我最喜欢 mobx 的地方就是和 vue 一…
实现一个bind函数
目前的打算还是继续深入前端基础知识,所以打算从polyfill开始做起。 bind函数最常见的用法是绑定函数的上下文,比如在setTimeout中的this一般都是指向window,如果我们想改变上下文,这里可以使用bind函数来实现。 从上面这个例子可以看出来,bind函数改…
60行代码实现简单模板语法
这个模板引擎实现的核心点是利用正则表达式来匹配到模板语法里面的变量和JS语句,再将这些匹配到的字段push到一个数组中,最后连接起来,用Function来解析字符串,最后将执行后的结果放到指定DOM节点的innerHTML里面。 但是这个模板引擎还是有很多不足,比如不支持取余运…
深入理解React
对于常用的框架,如果仅限于会用,我觉得还是远远不够,至少要理解它的思想,这样才不会掉入各种坑里面,这篇文章是基于react-lite源码来写的。 在react里面,经过babel的解析后,jsx会变成createElement执行后的结果。 <Test name="w…