全部文章
共 1306 篇文章
Browserslist: caniuse-lite is outdated
问题 然后就出现这样的情况 在开发时,不知道动了哪块蛋糕,突然页面变成了这样子,打开控制台 后,发现定义的px都被转换成了 rem,而且比较小,因此出现了这样的情况 分析 caniuse lite已过时 Browserslist 帮助我们在 和包大小之间保持适当的平衡。 使用 Browserslist,可以做到覆盖更广泛的受众(浏览器),同时包的体积也会保持最小化。 为什么要定期更新 caniuse lite 浏览器兼容性:canius...
了解babel的作用、原理、基本使用,为什么有babel,以及在webpack中的babel-loader
一、为什么有 ? babel是一个工具链,如今大多数的浏览器都支持 +的语法和特性,但难免有些旧版本的浏览器是不支持的,为了兼容这些旧版本的浏览器,有了babel这一个 JavaScript 编译器。它能为我们做一些事情:对更高级的语法进行转换,引入第三方 polyfill 模块,对旧版本浏览器不支持的特性打补丁(补充缺失的功能)。 二、基本使用 1.命令行使用 安装以下包: 运行此命令将 目录下的所有代码编译到 dist目录: 也可以...
什么是Polyfill?在Node.js中如何使用Polyfill
在 中,面试官经常会问一些关于浏览器兼容性和代码适应性的问题。其中,“什么是Polyfill?在Node.js中如何使用Polyfill?”这一题目就是一个典型实例。本文将详尽介绍Polyfill的概念、使用场景,并通过具体示例代码展示如何在Node.js中使用Polyfill。 什么是Polyfill? Polyfill是一种代码或插件,通过为浏览器提供尚未支持的原生功能,使得现代JavaScript特性可以在旧版浏览器或JavaSc...
TypeScript 中的 interface和 type 类型有什么区别?它们各自有什么用途?
在 TypeScript 中, 和 都可以用于定义类型,但它们有一些细微的差异和特定的应用场景。下面我们详细比较它们的 区别 、 相同点 以及 各自的用途 。 一、相同点 1. 描述对象的结构 : 和 都可以用来描述对象的结构。 2. 都支持可选属性和只读属性 : 3. 都可以扩展 (类似于继承)。不过扩展的方式不同(具体见下文)。 二、区别 | 特性 | interface | type | | | | | | 定义方式 | 使用 关...
vue设计模式总结-vue中主要用到了那些设计模式
Vue 中主要用到的设计模式包括: 一.观察者模式(Observer Pattern): Vue 使用观察者模式来实现数据的响应式,当数据发生变化时,相关的视图会自动更新。 举个栗子: 1. 数据绑定 :在Vue模板中使用双向数据绑定 ,当输入框中的内容发生变化时,绑定的数据也会相应地更新,这就是观察者模式的应用。 1. 计算属性 :Vue中的计算属性会依赖于其所引用的数据,在相关数据发生变化时,计算属性会重新计算并更新,这也是观察者模...
一文讲清楚为啥React Hook不能写在条件语句里
在官方文档 中,对于 Hook 使用规则叙述如下: Hook 就是 JavaScript 函数,但是使用它们会有两个额外的规则: 只能在 函数最外层 调用 Hook。不要在循环、条件判断或者子函数中调用。 只能在 React 的函数组件 中调用 Hook。不要在其他 JavaScript 函数中调用。(还有一个地方可以调用 Hook —— 就是自定义的 Hook 中,我们稍后会学习到。) 可以看到,官方文档中明确说明了,不要在循环、条件...
手写async await核心原理
前言 async await 语法是 ES7出现的,是基于ES6的 promise和generator实现的 generator函数 在之前我专门讲个generator的使用与原理实现,大家没了解过的可以先看那个 这里就不再赘述generator,专门的文章讲专门的内容。 await在等待什么 我们先看看下面这代码,这是async await的最简单使用,await后面返回的是一个Promise对象: 但不知你有没有想过一个问题,为什么...
手写generator核心原理
1.generator的使用 generator感觉大多数人不太熟悉,所以有必要科普下使用方法。熟悉使用方法 的伙伴可以直接到第二节。 Generator函数跟普通函数的写法有非常大的区别: 一是,function关键字与函数名之间有一个星号; 二是,函数体内部使用yield语句,定义不同的内部状态(yield在英语里的意思就是“产出”)。 最简单的Generator函数如下: g函数呢,有四个阶段,分别是'a','b','c','en...
corejs 是做什么用的, 跟 Polyfill 是什么关系
关键词 :corejs 和 Polyfill 1. CoreJs 的作用 提供标准的 JavaScript 功能支持 :CoreJs 是一个 JavaScript 标准库,它提供了许多在现代 JavaScript 环境中被认为是标准的功能。这些功能包括但不限于对 ES6 + 语法的支持,如 、 、 、 等。例如,在一些较旧的浏览器中可能没有原生的 支持,CoreJs 可以提供一个兼容的 实现,使得代码能够在这些浏览器中正确运行。 跨浏览...