前端性能优化(图文并茂,通俗易懂)

2022-09-22
阅读 6 分钟
5k
默认情况下,我们静态导入的所有模块都会添加到初始捆绑包中。使用默认 ES2015 导入语法 导入的模块将静态导入。import module from 'module'

图解JS中的事件循环

2022-09-15
阅读 2 分钟
5.7k
1、js单线程,并非指js只有一个线程,而是同一时刻只能有一个线程在工作。2、js中,主线程之外,还有其他线程,比如事件循环线程,定时器触发线程,http异步线程, 浏览器事件线程。3、在js主线程中,分为两个子线程,js引擎线程,GUI渲染线程。这两个线程是互斥的,同一时刻只能执行一个,要么执行js,要么渲染html4、...

CommonJS模块 和 ECMAScript模块(来自官方文档)

2022-09-07
阅读 4 分钟
2.2k
CommonJS模块(下面简称 cjs) 是为Node.js打包JavaScript代码的原始方法。使用 require 和 exports(module.exports的简写) 语句定义模块。 参见 nodejs cjsECMAScript模块(下面简称 esm)是ecma262标准下封装的JavaScript代码重用的官方标准格式。使用 import 和export 语句定义模块。参见node esm

package.json中的字段详解(来自于官方文档)

2022-09-05
阅读 6 分钟
2.1k
main module browserexports //定义多个入口点(推荐使用),优先级比上面高。为esm和cjs提供,在引入exports之外的路径,会报错。 详情参考 [链接]

为什么vue.config.js中使用require,而vite.config.js使用 import?

2022-09-05
阅读 4 分钟
8.6k
偶然一次发现,他们两个的引入模块的方式不一样,在好奇心的驱使下,便开始一探究竟。1、vue.config方式打开项目的package.json,找到 scripts位置。找到 vue-cli-service 命令,通常命令都位于当前项目的node_modules下的 .bin文件夹中(全局命令不在此处)在node_modules下找到 @vue/cli-service/bin/vue-cli-service.js...

typescript隐式类型转换图,很直观详细

2022-07-27
阅读 2 分钟
3k
1、unknown是所有类型的父类型,其他类型都可以赋值给 unknown {代码...} 2、never 是任何类型的子类型,可以赋给任何类型 {代码...} 3、any可以赋值给任何类型,任何类型可以赋值给any,除了any不能赋值给never(但是never却可以赋值给any) {代码...} 4、子类型可以赋值给父类型。但是父类型不能赋值给子类型,必须加断...
封面图

设备像素和CSS像素——web端

2021-08-03
阅读 3 分钟
4.1k
设备像素 给出了您正在使用的任何设备的屏幕分辨率,可以通过 screen.width/height 获取。但并不是不可更改的。比如可以通过 鼠标右键"显示设置"——"缩放与布局"改变。如果缩放100%是19201080,那么缩放150%就是1280720

前端性能之压缩(亲身体验)

2021-06-07
阅读 5 分钟
9.7k
一、前言最近在做项目的过程中,发现随着项目越来越大。编译之后的包也越来越大。可以发现,足足有35M之后,进入static下的js文件夹。发现有两个文件,一个4M,一个13M,比其他的都大。于是便在网上搜索各种提升页面及接口响应速度快的办法。无奈的是,网上大多都是从别人那里复制粘贴的帖子。最后也只能自己动手搞。二...

前端设置任何颜色作为主题色(不用预先指定固定几种),吐血整理

2020-12-10
阅读 3 分钟
9.9k
项目中,本来要提供2个主题,一个深色,一个浅色,本来想利用scss来实现,但是觉得,如果后期,再有3个、4个呢?感觉这种提供几种固定主题的方案,有些不太灵活,正好看到element-ui中主题,可以随意指定

ES2015(ES6)之后特性的合集(很详细)

2020-05-29
阅读 12 分钟
2.6k
一、ES 2016 1、Array.prototype.includes 和 String.prototype.includes在之前我们比较一个数组中是否包含某个元素的常用做法是: {代码...} 或者 {代码...} indexOf 结果返回是个数字,我们必须要和其他数字进行比较,才能见到得到是否"存在",即-1 表示不存在,大于-1 表示存在。由于 indexOf 在查找元素的比对过程中...

vue中style scope深度访问新方式(:deep())

2020-01-14
阅读 2 分钟
42.2k
1、>>>如果vue的style使用的是css,那么则 {代码...} 但是像scss等预处理器却无法解析>>>,所以我们使用下面的方式.2、/deep/ {代码...} 但是有些开发者反应,在vue-cli3编译时,deep的方式会报错或者警告。此时我们可以使用第三种方式3、::v-deep切记必须是双冒号 {代码...} 下面贴上node_modules中...

完美监听一个div尺寸的改变(不论何种方式导致的尺寸变化)

2019-12-31
阅读 3 分钟
10.4k
我们知道resize或者onResize事件是window才有的事件。如图:我们可以看到在最右侧,改变window的宽度,此时在左侧的chart div中监听到 window的resize后,做出了改变。也向右移动。

Grid布局学习笔记

2019-11-06
阅读 14 分钟
2.5k
它将网页划分成一个个网格,可以任意组合不同大小的网格,做出各种各样的布局。如上面的图,正是Grid布局的应用,还有比如 管理系统的主页 dashboard,正是应用了grid布局实现的。

PWA之 workbox 学习

2019-05-24
阅读 8 分钟
13.7k
前言:我们的应用可以分为两部分,一部分是属于主进程的(包括js(同步,异步),以及dom渲染等等),在一个时刻点,只能执行一个,要么先去渲染dom,完了再去执行js;要么执行完js,在去渲染dom,而不能同时执行js和dom渲染。 另一部分属于worker进程,它重新在后台起了一个进程,它和应用的主进程互不影响,可以同时执行。

webpack中如何加载静态文件

2019-05-17
阅读 2 分钟
8.3k
前言: 对于非静态的文件,如js,当webpack打包时,会被直接打到模块文件中,如main.js,如果修改了,需要再次编译而对于静态文件,如jpg,svg等,我们不希望webpack去打包,只需要在build完后,直接放到dist下的某个路径下即可,随时可以修改,并不需要再次编译

<script> 属性详解

2019-04-03
阅读 3 分钟
8.9k
默认情况下,浏览器是同步加载 JavaScript 脚本,即渲染引擎遇到&lt;script&gt;标签就会停下来,等到执行完脚本,再继续向下渲染。如果是外部脚本,则先去下载脚本,再执行脚本,等到执行完脚本,再继续向下渲染。

详解vue中静态资源的路径问题(深度好文)

2019-03-12
阅读 4 分钟
42.9k
首先明确一点,在项目中的webpack.config.js等项目配置文件中使用的require属于nodejs范畴,而进入index.js后,加载的组件中的require都属于webpack的解析范畴。

一文读懂Http Headers为何物(超详细)

2019-02-21
阅读 12 分钟
54.6k
由于最新的http2,并没有被各大浏览器广泛使用,所以本文是基于http/1.1所编写的。同时经过检测我们也发现,chrome等浏览器也正是使用http/1.1版本的。

react中使用css的7中方式(应该是最全的)

2019-02-10
阅读 5 分钟
29.5k
注意事项:1.在正常的css中,比如background-color,box-sizing等属性,在style对象div1中的属性中,必须转换成驼峰法,backgroundColor,boxSizing。而没有连字符的属性,如margin,width等,则在style对象中不变。2.在正常的css中,css的值不需要用双引好(""),如

手把手搭建nginx服务器,部署前端代码

2019-01-18
阅读 5 分钟
32.8k
html路径下放置我们前端 build好的代码(如何build,相信各位都会),conf下有个非常重要的文件nginx.conf,用来配置nginx服务器。

Vuex最完整的模块定义

2018-11-12
阅读 1 分钟
2.3k
在项目中有时就会用到在一个命名模块中 访问/调用 另一个模块的state,mutation,action等,所以把使用的普遍方法总结下来,以供需要者参考。

深拷贝和浅拷贝-深度解析

2018-11-12
阅读 2 分钟
4k
除此之外: Array.prototype.concat()、Array.prototype.slice()、Array.from()和 Object.create()都创建的是浅拷贝

SVG基础教程(超级详细)

2017-11-19
阅读 20 分钟
22.1k
一、内置图形: {代码...} 二、内置图形的html属性或(css样式): {代码...} 三、基本元素用法 1、矩形 基本用法 {代码...} 扩展用法 {代码...} 2、圆 基本用法 {代码...} 扩展用法 {代码...} 3、椭圆 基本用法 {代码...} 扩展用法 {代码...} 4、直线 基本用法 {代码...} 扩展用法 {代码...} 5、多边形 基本用法 {代码...} ...