实现LRU缓存算法

LRU缓存算法 LRU 的全称是Least Recently Used, 即最久未使用的,属于典型的内存管理算法。 实现思路 因缓存空间是有限的,最近使用的放在最前,最久未使用的放在最后。当缓存空间已满时,新增一条数据时,需删除最后一条。每次取用缓存数据时,都需要更新一次排序。 示例代码 class LRUCache { #map; #length; ……

小程序滚动加载优化方案

微信小程序滚动加载拓展组件,对官方方案进行了以下优化: 减少重复去写分页加载函数和分页逻辑 支持长列表虚拟渲染 优化删除子项无刷新交互 使用 安装组件 npm i mini-scrolling-loading --save 在页面的 json 配置文件中添加 mini-scrolling-loading 自定义组件的配置 { "usingComponents": { "mini-scrol……

Rollup 3.x 版本 打包报错: Original error: Cannot use import statement outside a module

平台:window 11 Node: v14.18.3 rollup: ^3.14.0 打包时出现下面错误: `(node:6152) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. (Use 'node --trace-warnings ...' to show where the warning was created) [!] RollupError: Node tried to load your confi……

Rush.js 多项目管理工具

rush.js微软出品,专门为monorepo打造的项目管理工具。 rush是为大型团队准备的,它可以给你提供一个仓库下维护多个项目的构建和发布方案。 一、先了解下Monorepo Monorepo概念 一种项目管理方式:一个git仓库下管理多个项目,适用于大型团队,框架开发,库开发等。 优点 统一技术栈 - 降低团队成员之间的backup成本 2.……

谈谈上滑数据删除与加载的问题

当前遇到的问题 当前数据量很大,需分页请求加载,其中涉及到局部数据删除,删除后不是刷新当前页面,那么如何使数据删除后无缝衔接呢? 思路: 若请求数据总数total小于页码pageSize时,可以略过,不做处理。 若请求数据总数total大于页面pageSize时,如果删除的数据为最后一个page的数据,则不处理,反之则需特殊处理……

微信小程序插件开发

微信小程序插件的发布方便了代码公用和数据交互,可以保证业务功能公用的同时保证代码的安全性。 微信插件的定义如下:插件是对一组 js 接口、自定义组件或页面的封装,用于嵌入到小程序中使用。插件不能独立运行,必须嵌入在其他小程序中才能被用户使用;而第三方小程序在使用插件时,也无法看到插件的代码。因此,插件……

移动端网页增加vconsole调试工具

很久没更新了,可能是因为最近bug比较多,也可能是比较懒。 在平时的小程序开发中,我们可以借助它自带的vconsole工具调试,可以对我们的代码检测和开发效率有很大的帮助。然而平时我们在开发移动端时,一般都可以借助浏览器自带的响应模式来调试,但平时网页调试好的和我们真机上显示的有时会有误差,比如说,在pc网页上……

微信小程序海报生成组件封装

每个小程序成型后,一般都会选择生成带菊花码的海报分享出去来吸引更多的流量。下面来介绍下他的一种实现方式吧 组件Github地址: https://github.com/WGinit/mini-poster 原理:主要利用微信小程序强大的Canvas API来合成,生成后可用wx.canvasToTempFilePath()导出图片地址,从而可实现预览及保存至手机相册 一、如何使……