[php] [error] [8]unserialize(): Error at offset 0 of 2 bytes 背景:重装系统后运行老项目,结果一直报接口 500 错误,排查下来后发现是 unserialize 反序列化的问题。解决方案:找到项目中的 cache 目录,删除即可。 Ginkgo 2024-06-20 171
维护vue2项目更新依赖无法运行解决过程 背景目前已都是用 vue3 相关进行项目开发,但是依旧还有vue2的工程进行维护。遇到的问题问题一:删了node_modules 文件夹 和 lock 文件后使用 pnpm install 安装,发现无法运行,排查使用了webpack 4.x.x 版本的,此版本的 babel-loader 一系列版本需要安装对应版本的才可运行解决方案: 安装对应版本的依赖 --save-dev babel-loader@^8.2.3 @babel/core@^7.12.0 @babel/preset-env@^7.12.0问题二:编译运行的时候出现 TypeError: Cannot read properties of undefined (reading 'spaces') 解决方案:排查发现是 scss 文件中存在 /*这是一个注释*/ 这类文本,删除即可。 Ginkgo 2024-05-11 347
img使用canvas转为base64跨域问题 在使用 canvas 将 img 的 src 地址转换为 base64 调用 canvas.toDataURL() 时,遇到跨域问题并报错如下Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. at img.onload解决方案:在 onload 之前添加 crossOrigin 参数 var img = new Image(); img.src = src; img.crossOrigin = ''; img.onload = function () { // todo }具体参考大佬方案 Ginkgo 2024-03-15 778
宝塔面板中thinkphp项目post上传文件时接口返回413 问题在开发一个thinkphp的项目时,当文件有60M上传时,发现接口返回了413报错,导致上传失败。client intended to send too large body: 64390300 bytes request解决方案基于宝塔面板、tinkphp、nginx,需要设置三个地方nginx在 nginx 中配置 client_max_body_size为需要的大小 如下图调整后记得重启 nginxphp找到你这个项目当前用的版本的 php ,如下配置大小调整后也重启一下thinkphp在项目中找到文件上传的配置项,因为项目不同,可能目录结构不同,我的在config/upload.php 中上述调整完后即可生效。 Ginkgo 2024-03-04 1169
elementui中 drawer 组件非正常关闭问题 背景看了 elementui 和 iview,都有这个问题。在 drawer 抽屉组件中复制的时候,鼠标移动的快了就会移动到抽屉外,此时抽屉弹窗就关闭了,这个交互不想要,希望在点击遮罩的时候再关闭。解决方案<template> ... <el-drawer title="标题" :append-to-body="true" :visible.sync="drawer" custom-class="drawer-test" direction="rtl" :destroy-on-close="true" @mousedown.native="mousedownDrawer($event)" @mouseup.native="mouseupDrawer($event)"> Ginkgo 2023-11-20 2078
滚动条显隐时页面不抖动 方案一属性属性 scrollbar-gutter 可以实现该功能方法在需要的地方设置 scrollbar-gutter: stable; 即可,此设置会将滚动条的位置预留出来,在没有滚动条时也占位。其他属性值auto默认效果stable both-edges和 stable 差不多,但是左右两边都会留空白位置进行占位,让内容居中兼容性scrollbar-gutter兼容性方案二overflow:overlay , overlay 属性设置后,滚动条为覆盖在上方,不会占空间导致页面抖动 Ginkgo 2023-09-18 3599
Object Constancy 对象固话 原文对象恒常性:表示特定数据点的图形元素可以通过转换进行可视化跟踪。关键函数可用于提高独立于转换的性能。例如,如果您过滤一个大表,您可以使用一个关键函数来减少 DOM 修改的数量:在更新选择中重新排序 DOM 元素而不是重新生成它们。我们在 Square 使用这种技术来提高商家分析的性能,这也是 D3 比大多数模板框架更快的原因之一。Object 冻结 Ginkgo 2022-03-01 1895
安装 node-sass npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist --sass-binary-site=http://npm.taobao.org/mirrors/node-sass --registry=https://registry.npm.taobao.org 淘宝npm包镜像--disturl=https://npm.taobao.org/dist 淘宝node源码镜像,一些二进制包编译时用--sass-binary-site=http://npm.taobao.org/mirrors/node-sass 这个才是node-sass镜像 Ginkgo 2021-10-09 2193
vscode安装typescript插件 vscode 配置 ts 文件自动转换为 js 文件全局安装 typescriptnpm i -g typescript生成配置文件在项目所在目录命令行中 执行 tsc --init此时可能会出现如下问题解决方案如下:1、输入 get-ExecutionPolicy, 如果值为 'Restricted' 则表示状态为禁止2、输入 set-ExecutionPolicy RemoteSigned,按 Y 后回车即可。运行任务这样就可以了typescript 文章 Ginkgo 2021-09-29 4669
macOS 平台 Homebrew 更新 brew update 卡死,完美解决 此文转自: https://www.cnblogs.com/tp0829/p/Homebrew.html步骤1.替换Homebrew源$ cd "$(brew --repo)" $ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git"$(brew --repo)"是用来自动指向Homebrew的目录的.参考Homebrew源使用帮助.步骤2.替换homebrew-core源$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" $ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git参考Homebrew Core源使用帮助.步骤3.替换homebrew-cask源.$ cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask $ git remote s Ginkgo 2021-02-14 2612