- 博客(139)
- 资源 (8)
- 收藏
- 关注
原创 nodejs 不用 electron 实现打开文件资源管理器并选择文件
在nodejs中想唤醒资源管理器选择文件通常都要用到 electron。今天另辟蹊径,通过各平台的终端命令实现唤醒资源管理器进行选择文件,把脚本的体验感再次提升一个档次!
2024-01-07 17:50:42 1887
原创 使用 vscode 调试 midwayjs 程序(包括源码)
掌握调试技能,逐行阅读源码不是梦!使用vsocode强大的debug功能,调试midway程序,深入源码学习。基于这些调试配置,随时随地开启各个源码库的debug学习
2022-10-02 02:59:39 1585 1
原创 chrome V3插件入门到放弃,Plasmo不完全使用指南
本文介绍了Plasmo这个工具,可以用来适应各种的技术框架,让你快速上手插件开发。同时也说了一下chrome插件升级到V3需要注意的内容和分享了一些快速入门的优秀文章和文档
2022-09-03 00:27:59 11438 5
原创 TS类型体操 之 中级类型体操挑战收官之战
TS类型体操中等题目最后收官了,对于最后一类型的题目在于理解反向推到类型和“无中生有”变出来的泛型变量。掌握后就能更好的理解“困难级”的体操题目了~
2022-07-17 14:57:29 882
原创 TS 类型体操 之 数组的用法与进阶(加法,减法,乘法)
用亿点点小学知识,在TS中实现 “加减乘” 法,加深对TS infer 的特性和数组特性的用法
2022-07-06 22:24:18 2910
原创 TS 类型体操 之 extends,Equal,Alike 使用场景和实现对比
深入对比了TS中常用的几种判断方法,extends,Equal,Alike。深入了解 Equal 背后实现的原理。更好的理解这几种判断常用的应用场景
2022-07-05 00:30:15 2990
原创 TS 类型体操 之 循环中的键值判断,as 关键字使用
通过几道题目,深入了解了TS如何在对象循环中筛选需要的键值,了解&符的用法,& 符和定义的对象的区别,封装了 Clone 工具函数实现把 多个 & 合并为一个对象
2022-07-03 20:12:14 1644 1
原创 TS 体操 &(交叉运算) 和 接口的继承的区别
深入了解 TS中 & 和 extend 的异同。根据这个特性出发重新思考定义类型时到底是用type 还是用 interface
2022-07-03 20:08:34 1569
原创 TS类型体操 之 字符串的妙用
利用TS字符串的特性,实践并解决体操练习中 “绝对值” 的题目,深入TS中 extends infer 和字符串比较的用法
2022-07-03 20:04:12 1430
原创 成为优秀的TS体操高手 之 TS 类型体操前置知识储备
如果你正在学习 TS,可是像我一样仅仅停留在定义类型,定义 / 的层面的话, 这份体操类型练习题一定不要错过 !让我们一起学习TS类型体操的各种姿势
2022-07-02 22:59:11 1084
原创 使用svg创建动态水印内容
使用 svg 代替 canvas 做水印其实也是为了方便快捷,减少了 canvas 的渲染导出图片的操作,很好的利用了 svg 可以作为背景图的特性
2022-05-31 11:22:48 1970 1
原创 纯css实现多栏拖动大小
本文的代码和实现思路参考公众号 - iCSS 前端趣闻:CSS 实现可拉伸调整尺寸的分栏布局下文为记录和整理学习的过程中自身的思考。如有侵权请联系我删除纯 css 实现多栏拖动大小查看效果演示实现原理核心是使用 css 的 resize 属性。当节点拖动的时候,resize 属性会自动帮我们修改 dom 节点的行内样式(width/height)。免去了我们自己用 js 实现拖动配合 flex 布局,实现一个容器设置宽/高,剩余的容器占 flex:1 实现自适应的布局/* 横向拖动的时候.
2022-05-30 23:29:40 2214 1
原创 node 获取文件编码,批量转换文件编码
node 批量转换文件编码解决方案使用 npm@jschardet 获取文件编码信息(并非 100%准确)通过 npm@iconv-lite 结合文件二进制流,重新识别文件内容核心代码如下:const fs = require('fs')const path = require('path')const jschardet = require('jschardet')const iconv = require('iconv-lite')function decode(file) {
2022-05-04 15:05:18 2017
原创 使用 node-json-db 为node项目添加一个简易的本地数据库
node-json-db 是一个非常贴近前端API的本地JSON类型数据库,node-json-db的出现让一些 node 小工具有更好的拓展性
2022-04-04 15:12:01 2571
原创 分析洋葱模型实现原理,在自己项目中接入洋葱模型
简单的分析了一下 koa 源码,进一步分析了 koa-compose。了解了中间件实现机制,自己动手实现了一个中间件管理,然自己的程序也用上洋葱模型
2022-02-27 21:47:19 915
原创 tinymce系列(四) tinymce 常用内置 UI 组件介绍
本文做一个抛砖引玉,介绍了最基础的注册按钮、下拉菜单、注册 icon 和内置弹窗的使用。后面还会有几个实战的小 demo,都会重新用到这一块的内容~敬请期待
2022-01-08 17:06:13 3215
原创 tinymce系列(三) tinymce 常用API介绍
介绍了tinymce插件开发或者业务开发中经常会用到的API和API使用的演示。主要介绍了tinymce事件监听,获取 dom 节点,光标操作,内部指令等。
2022-01-08 15:58:44 8678 1
原创 tinymce系列(一) tinymce 环境搭建
文章目录tinymce 环境搭建初始化目录结构使用 Rollup 运行,打包Rollup 打包效果新建 2 个插件,编写 rollup.config.jsrollup 配置 ES6 转 ES5rollup 配置 代码压缩添加 serve 和 热更新rollup 支持 less打包配置动态入口根据目录打包引入静态资源 和 清理旧资源最后先介绍一下这个系类(tinymce),该系列以后相关的代码都会更新在 tinymce-pluginstinymce 是一个富文本插件。官网已经介绍的很清楚了这个系列主要的
2021-10-23 18:38:48 5463
原创 window 使用 Edge/Chrome 调试手机 iOS 的 Safari 浏览器
先上效果图真机PC Edgewindow 使用 Edge/Chrome 调试手机 iOS 的 Safari 浏览器Safari 是 苹果配套的浏览器,正常来说如果使用的是 macOS 直接一条数据线就可以连接调试了but 今天的主题是 window 系统调试 iOS 手机浏览器如果要调试的界面没有 https 的话,直接用 spy-debugger 或者 whistle 也是很方便的。然而如果要调试 https 界面,证书都能搞掉半条命安装需要的依赖包重点:下面的操作都需要在 W
2021-08-28 23:15:53 9521 7
原创 富文本编辑器复制word文档中的图片
title: 富文本编辑器复制word文档中的图片date: 2020-06-24sidebar: autocategories:前端tags:富文本编辑器word文档文章有点长,感觉每次写文章都特别啰嗦,如果不想看过程的话直接跳到总结,那边有核心的方法~富文本编辑器复制 word 文档中的图片问题点:从 word 文档复制进来的内容的图片都是 file:/// 协议,这时候如果我们的页面是 http://或者 https:// 协议的话,就不允许读取图片了。除非页面也是.
2021-07-29 23:52:09 8113 25
原创 谁动了我的package-lock
血淋淋的教训只为呈现更好的文章内容package-lock 介绍nodejs 对 package-lock 的介绍:package-lock.json 文件最重要的一句就是:该文件旨在跟踪被安装的每个软件包的确切版本,以便产品可以以相同的方式被 100% 复制(即使软件包的维护者更新了软件包)。问题的出现今天新开了一个项目,就把一个项目的脚手架复制到另外一个项目去。然后突然出现了各种各样的问题。最离谱就是同样的代码,另外一个域名运行的好好的,就新项目各种问题。。。没报错,本地运行没警告~
2021-07-27 23:25:56 725 1
原创 js显示格式化代码并高亮(vue中实现代码高亮)
文章目录js 实现代码格式化调用 api实现代码高亮引入用法highlight.js 高亮代码不换行innerText 和 innerHTML 有什么区别解决 innerHTML 渲染为真实节点的问题上色后都是 span 标签,是怎么做到换行的?vue 中使用 highlight.js用指令使用 js_beautify关于文章开头的编辑器实现一个简易版的网页编辑器,没有智能提示,也不会自动高亮标签(需要手动高亮)用的是 vue+ Highlight.js + js-beautify效果如下图js
2021-07-04 18:28:55 3779 3
原创 tinymce 实现 粘贴图片自动上传
tinymce 实现 粘贴图片自动上传tinymce 中文文档:上传图片和文件关于图片上传的踩坑记录,基本就是如下几个文章目录tinymce 实现 粘贴图片自动上传不能复制本地图片然后粘贴粘贴进来的图片上传问题上传图片后回显图片点开大图后复制进来 2 张的问题不能复制本地图片然后粘贴图片的复制粘贴,依赖于 paste 插件 文档:插件 \ paste 粘贴插件简单的配置如下:tinymce.init({ selector: '#tinydemo', plugins: 'paste',
2021-06-26 18:00:55 6888 3
原创 Promise 控制并发请求数量
Promise 控制并发请求数量前言:浏览器对对同一个服务器的并发数是有限制的,参考如下表格(表格来源于网络,未进过严谨测试):浏览器HTTP / 1.1HTTP / 1.0IE 1166IE 1066IE 91010IE 866IE 6,724火狐66Safari 3,444Chrome 4+66歌剧 9.63,10.00alpha44Opera 10.51+8?iPh
2021-06-13 22:23:12 1833
原创 nginx开启gzip
title: nginx开启gzipdate: 2021-06-13sidebar: autocategories:服务端Linuxtags:Nginxgzipnginx 开启 gzip开启前检测一下我的网站,测试网址:https://tool.chinaz.com/gzips/[外链图片转存中…(img-JBNeKN4B-1623594070604)]Gzip 配置参数gzip on; #是否开启gzip模块 on表示开启 off表示关闭gzip_buffers 4 .
2021-06-13 22:22:16 296 4
原创 有了服务器的第一件事
前言作为程序猿,linux 是始终绕不开的东西,其实服务器买好很久了,就一直没搞起来,这次就记录一下我的第一个服务器服务器也是从 0 开始搭建的,然后一开始给朋友练手安装软件了(没用宝塔,全手动安装)后面也都会提到安装的过程安装软件前端需要运行项目其实要的东西不多,nginx、nodejs、git。就够玩的了git 安装git 安装其实特别简单,因为用的是centos 的服务器,所以直接 yum install git 就完事了,没太多花里胡哨的东西nginx 安装可以看下以前的博客链接,个
2021-05-21 23:39:15 187
原创 video-js 库使用 自定义组件
video-js 库使用 自定义组件video-js 库原始版的库:github/videojsvue 封装过的组件:npm/vue-video-player这是一个非常棒的播放器,还兼容 hls 的直播流(m3u8)格式的等,还支持自定义组件,基本上满足播放器的很多功能了。如果想了解直播的可以看下以前的文章 vue 项目进行直播视频 vue-video-player后面更多会说自定义组件说一说我的遇到的坑:本来用播放器播放直播流 OK 了,可是 UI 和我说,播放器在回放的时候,希望像普
2021-05-09 19:00:31 3629 5
原创 ficusjs系列(一) ficusjs入门使用
前端又双叒叕来新玩具了ficusjs 系列ficusjs老规矩还是先介绍一下 ficusjs。 文档地址:docs-ficusjs说 ficusjs 之前,就不得不提 Web ComponentsWeb Components 旨在解决这些问题 — 它由三项主要技术组成,它们可以一起使用来创建封装功能的定制元素,可以在你喜欢的任何地方重用,不必担心代码冲突。在我理解,这是下一代的 web 前端技术,让前端的组件化更进一步!目前做前端组件化都是基于框架(比如 vue,react 之类的),而 w
2021-05-09 16:13:37 655 1
原创 js加载并显示excel文件
js 加载并显示 excel 文件养成先放效果在开讲的好习惯~项目演示和代码地址:codesandbox/js-xlsx-demo完全通过 JS 的能力加载了一份 excel 表格,虽然每个单元格的宽度高度不能 100%还原(也许是我没看完具体的文档)。不过前端可以通过样式,给每一个格子在另外定样式今天主角 sheetjs官网的 demo官网的 demo 并没有合并单元格,不过他可以像 excel 一样选中多个单元格,感兴趣的可以去研究一下兼容性:IE8 (那就是全世界浏览器都支持了)引
2021-04-18 21:11:35 3906
原创 window平台编译draco库
文章目录window 平台编译 draco 库环境准备cmakeVisual Studio开始编译获取最新的代码CMake 使用友情链接:window 平台编译 draco 库前面一篇文章讲了一下 three.js 的使用 VR 效果 前端使用 three.js 加载 Obj(三维模型文件)也附上了 linux 编译 draco 的过程。也提供了 window 平台下的 .exe 文件不过最近遇到一个问题就是,编译后的代码是旧的,draco 也一直在更新迭代。所以今天就补上 window 平台编译
2021-04-13 14:21:09 2486 3
原创 node爬虫puppeteer使用
node 爬虫 puppeteer 使用puppeteer 是一个基于 Chromium 的 node 爬虫框架。其厉害之处就是他具备浏览器的所有功能,并且通过 nodejs 就可以控制。完美实现我们要的爬虫效果 (后面附有完整代码~)安装 puppeteer 时还会同步下载 Chromium 。网络不好的直接用 cnpm 下载即可。当然官方也有一个另外的包,原话如下:Since version 1.7.0 we publish the puppeteer-core package, a versi
2021-04-11 19:44:41 4652 1
原创 调试node程序工具对比
调试 node 程序本文或许有点长,因为调试 node 真是折磨了很久,最后的当然也是找到了称心如意的工具,看下图!!何为称心如意?热更新console 查看输出的对象(命令行看 js 输出的对象真是噩梦)方便调试,包括且不局限于:断点,运行单个文件,等…上面的图看起来像是 chrome 控制台,但绝对不仅仅只是 --inspect-brk 打开的那个感兴趣的可以看下下面一个个工具的对比,如果想直接达到上图的效果直接找到 ndb 的目录去把~热更新代表 nodemon::: tip
2021-03-28 21:53:36 591
原创 PicGo+Gitee搭建自己的图床
PicGo+Gitee 搭建自己的图床有写博客的人都知道有一个好的 免费 图床多么重要,很多都是说把图床搭到 github 上。可是那访问也太慢了,好在国内还有 码云PicGo这个工具无需多言,好用,支持多图床配置,也是今天的主角默认安装完是没有 Gitee 图床的,所以需要到插件市场找一个注意这里有 2 个很像很像的插件,不要装错了,另外一个配置在我印象中是比较复杂的,圈住的这个相对来说简单很多安装完成后就会多一个 Gitee图床 的配置了。新建图床仓库新建 git 仓库我就不多说了
2021-03-28 18:24:09 253
原创 gitbash设置别名
别名设置cd /etc/profile.dvim aliases.sh可以看到 ls 和 ll 是系统原先就配置好了。接下来根据原有的格式,添加自己想要的别名比如添加的 ns = npm run serve。以后启动项目,直接 ns 即可。如何新增点击 i 进入编辑模式。输入好内容后,按下 esc , 然后输入 :wq 即可保存退出保存后执行 source ./aliases.sh 重启终端就可以window Termial 不识别别名如果已经安装了 window Termial 并
2021-03-28 17:50:55 462 1
原创 Vue项目引入使用svg
Vue项目引入使用svg随着项目页面的增多,UI 库的 svg 图标渐渐不够用了。于是 UI 给了一大堆的 svg 新的图标,一个个引入显然不实际,于是把 svg 放到指定文件夹,然后批量引入,通过组件去使用这一堆 svg。项目结构|--build| `-- webpack.base.js`--src `-- assets `-- icons |-- index.js `-- svg `--
2021-03-28 17:36:53 2050
原创 调试微信 PC 端的内置浏览器界面
调试 PC 端的内置浏览器界面很多网页都有用到微信授权,这意味着很多页面都必须在微信内置的浏览器才能打开。可是这时候想看下网页的代码,调试下,就没法子了。今天就来解决这个问题:因为微信用的也是 Chromium 内核,只是禁了右键和 F12。把控制台阉割了,我们要做的就是把控制台加回来!查看浏览器内核位置<html> <script type="text/javascript"> window.open('chrome://version') </scr
2021-03-13 18:09:43 16907 25
【window环境】已经编译的 draco-1.4.1.zip 对应最新版本 1.4.1
2020-04-25
反编译小程序-无夜神模拟器.zip
2020-03-26
iTerm2-Color-Schemes for window Termial.zip
2019-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人