前端学堂
学有所用

JavaScript|Node

javascript知识积累 NodeJS、jQuery、Angular、React、Vue

解决依赖组件版本冲突

前端学堂阅读(4)

版本冲突相信大家经常遇到,如果有一天你发现升级了一个组件导致页面挂了,报出来的异常明显是某个组件中的,比如redux,那么可以大胆猜想可能是依赖的该组件版本冲突导致的。 关于版本冲突 比如项目中依赖A、B两个组件,A依赖C@^1.0.1版本...

target=”_blank”打开新窗口漏洞

前端学堂阅读(302)

Target=”_blank”有史以来最低估的漏洞 人们在Html链接中使用 target=’_blank’ 以便打开另外一个新页面,但是新页面会通过window.opener对象访问到原来页面,因此这给攻击者留下了攻击漏洞,设想在一个用户...

前端开发编码一些原则和实践

前端学堂阅读(271)

开发原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 以下是面向对象设计的原则,react hooks更多的是函...

react阻止事件冒泡失败原因

前端学堂阅读(438)

JS 中事件的监听与处理 事件捕获与冒泡 DOM 事件会先后经历 捕获 与 冒泡 两个阶段。捕获即事件沿着 DOM 树由上往下传递,到达触发事件的元素后,开始由下往上冒泡。 IE9 及之前的版本只支持冒泡 | A -------------...

react hooks模拟各个生命周期函数

前端学堂阅读(715)

前言 react hook是继16.6的Suspense、lazy、memo后的又一巨大的令人兴奋的特性。然后有各种文章说了hook的优缺点,其中缺点包括:没有直接替代getSnapshotBeforeUpdate、componentDid...

回顾前端2019

前端学堂阅读(291)

标准进行时 ECMAScript 2019 如期到来 ECMAScript 2019 年包含这些更新: Array.prototype.flat、Array.prototype.flatMap; String.prototype.trimS...

基于typescript开发一个npm包

前端学堂阅读(354)

很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用, 那么在 2018 年,如果我想要初始化这样的一个模块,我需要做哪些步骤呢?: 答案是:创建一个优雅的,对开发者友好的模块,至少需要以下 15...

typescript大法

前端学堂阅读(252)

介绍下tsconfig 开始使用 tsconfig.json 是一件比较容易的事,你仅仅需要写下: {} 例如,在项目的根目录下创建一个空 JSON 文件。通过这种方式,TypeScript 将 会把此目录和子目录下的所有 .ts 文件作为...

npm版本号

前端学堂阅读(334)

npm版本号参考:https://www.npmjs.cn/misc/semver/ Versions A “version” is described by the v2.0.0 specification fou...

hooks使用指南

前端学堂阅读(353)

本文是阅读A Complete Guide to useEffect之后的个人总结,建议拜读原文 理解hooks工作机制 可以这样说,在使用了useState或是useEffect这样的hooks之后,每次组件在render的时候都生成了一...