- 博客(101)
- 收藏
- 关注
原创 前端性能优化之回流重绘
首先,我们需要先明白一个问题用户请求的资源到达渲染引擎后如何工作?构建DOM树构建CSSOM树和样式计算构建渲染树下面是网上的一张图片,可以很清晰的说明前三步布局阶段布局阶段会从渲染树的根节点开始遍历,然后确定每个节点对象在页面上的确切的大小和位置,所有相对的测量值也都会被转换为屏幕内的绝对像素值。绘制浏览器主进程将默认的图层(普通文档流的元素)和多个独立图层交给GPU进程,GPU进程再将各个图层合成,最终显示在屏幕上。哪些元素会独立图层? <video>
2021-01-17 14:14:35 2251 7
原创 ES6 promise
Promise是在 JavaScript(也称为 ECMAScript-6)中实现异步编程的一种方式。JavaScript 中使用Promise进行异步编程。对于异步编程,JavaScript 使用回调,但使用回调会出现一个问题,即回调地狱(多个或依赖回调)或所谓的 "地狱金字塔"。使用 ES6 的Promise将简单地避免与回调相关的所有问题。
2024-04-11 13:52:06 600
原创 本地调试,使用charles拦截响应内容
localhost:9528/loan_manage/loan_material_export 改成:http://localhost.charlesproxy.com:9528/loan_manage/loan_material_export。第一步:将本地调试地址从localhost改成 http://localhost.charlesproxy.com。打开charles的Windows Proxy。找到需要拦截的请求,点击右键。返回到页面上就是修改后的数据。
2024-04-07 16:28:08 223
原创 微前端-无界wujie
无界微前端方案基于 webcomponent 容器 + iframe 沙箱,能够完善的解决适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户的核心诉求。1)子应用 js 在和主应用同域的 iframe 内运行,所以 window.parent 可以直接拿到主应用的 window 对象来进行通信。2) 主应用可以向子应用注入 props 对象,里面可以注入数据和方法供子应用调用。beforeUnmount:子应用卸载前触发(生命周期改造专用)
2024-01-20 10:30:42 1311
原创 npm yarn nrm
npm和yarn都是包管理器,yarn是在2016年发布的,那时npm还处于V3时期,那时候还没有package-lock.json文件,不稳定性、安装速度慢等缺点经常会受到广大开发者吐槽。此时,yarn 诞生了。当然,后来 npm 也意识到了自己的问题,进行了很多次优化,在后面的优化(lock文件、缓存、默认-s…)中,多多少少能看到 yarn 的影子,可见 yarn 的设计还是非常优秀的。npm默认情况下是使用npm官方源,在国内使用的话下载速度慢,很多人在国内会使用淘宝源,有的公司还有自己的私有源。
2023-07-28 11:19:08 794
原创 vue项目打包完成后,会生成 dist 文件夹,如何检验 dist 文件夹呢?
vue项目打包完成后,会生成 dist 文件夹,如何检验 dist 文件夹呢?
2023-02-02 10:59:27 796
原创 记录报错:vue项目从public文件下取资源,cordova打包的apk报错文件找不到的问题
vue项目从public文件下取资源,cordova打包的apk报错文件找不到的问题
2022-11-18 13:36:54 1141 1
原创 forEach和map循环中如何等待异步加载,在循环中如何正确使用await
forEach和map循环中如何等待异步加载,在循环中如何正确使用await
2022-11-18 12:31:28 796
原创 修改一台设备的全局git账号
背景:修改一台设备的全局git账号。打开git Bash Here,分别输入如下命令来设置全局的用户名和邮箱。git config --global user.name "yourname"git config --global user.email "youremail"输入ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(xxx@xxx.com是你的邮箱地址),为了为此设备生成SSH秘钥。在指定的目录下找到id-rsa.pub文件,用记事本打开,复制出来
2022-01-14 15:37:20 177
转载 webpack打包vue项目之后生成的dist文件该怎么启动运行
项目打包,我的项目分开发,测试和生产环境,以开发环境为例。打包命令之前配置的。所以执行npm run develop打包。打包后的dist文件直接打开index.html文件会报错,因为没有启环境:安装express-generator生成器执行npm install express-generator -g进行安装创建一个express项目执行express expressDemo(expressDemo是项目名)expressDemo项目目录如下图:进入..
2021-12-30 16:21:43 2463
原创 微信小程序安装vant-weapp,将vant的px转成rpx
Vant-weapp官网地址:https://vant-contrib.gitee.io/vant-weapp/#/home安装:1、npm init (这是初始化,一定要做,否则不能安装,官网没说。)一路回车。2、npm安装npm i @vant/weapp -S --production3、修改app.json将 app.json 中的 “style”: “v2” 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。4、修改project.confi
2021-12-24 13:36:54 1300
原创 微信小程序类似于路由拦截的中间件
在小程序中无法做路由拦截,所以用page中间页面来代替类似进入页面之后(onShow)判断是否登录,没有的话重定向到登录页的这种需求。中间页面的主要功能:1)在每个需要判断是否登录的功能的页面onshow生命周期中来获取storage中的token值,如果有,则跳转到对应页面,没有则跳转到登录页面。2)跳转到登录页面之前,需要将即将跳转的页面(验证是否登录的页面)的路径及参数存入storage中,以便登录完成后继续跳转到之前想跳转的那个页面。全局引入中间页:每个页面使用:需要使用中间页的
2021-12-24 10:13:33 1319 2
原创 微信小程序全局状态管理store
wxMiniStore一个基于原生小程序的Mini全局状态管理库,跨页面/组件的数据共享。1、安装npm init npm install wxministore -S2、微信开发者工具中勾选‘使用npm模块’3、工具->构建npm4、项目中引入5、使用1)app.js中引入store.js2)store.js中可以引入其他模块存放全局状态的文件3)其他模块的全局变量的写法4)更改全局变量的值,在需要使用的组件中,加入useStore: true,表示当前页面或组件
2021-12-24 09:50:32 3056 1
原创 微信小程序发版流程
无论是体验版还是正式版,在发布之前,都需要先配置服务器域名。配置服务器域名的作用?小程序只可以跟指定的域名进行网络通信,包括普通的https请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile)和websocket通信(wx.connectSocket)。如何配置配置服务器域名登录下程序后台https://mp.weixin.qq.com/wxamp/devprofile/get_profile?token=274463507&
2021-12-23 16:39:18 2102
原创 创建第一个微信小程序
1、在微信官网下载微信开发者工具,并安装https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html,用微信扫码登录开发者工具。2、新建项目,选择代码存放的硬盘路径,填入申请的小程序AppID,勾选‘不使用云服务’,点击‘确定’。小程序创建成功。...
2021-12-23 14:39:00 41
原创 微信小程序注册流程
一、小程序注册1)进入微信管理后台https://mp.weixin.qq.com/,点击‘立即注册’在微信官网下载微信开发者工具并安装,https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
2021-12-23 14:27:42 1567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人