![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
change_fate
这个作者很懒,什么都没留下…
展开
-
Pinia基础使用 (vite vue3)
是 Vue 的存储库,它允许您跨组件/页面共享状态。Vue官方推荐状态库。原创 2023-07-03 16:01:07 · 357 阅读 · 0 评论 -
threejs 入门 (vite + vue3)
threejs用于实现3D效果。原创 2023-06-29 11:11:29 · 285 阅读 · 0 评论 -
vue 虚拟列表
(4) 滚动的时候修改显示的列表,屏幕显示列表为options.slice(min-2, min+10)原理,只有在屏幕部分元素被显示出来,并且被更新,所以始终只有固定数量的节点,不会卡顿。为了不显示空白元素,上面会隐藏两个元素(-2), 下面也会隐藏两个元素(8+2)(2) 计算scrollTop, 就是滚动条滑块的位置高度。(1) 生成多个元素的options, 或者动态获取。原创 2023-06-14 16:45:32 · 279 阅读 · 2 评论 -
WOL wake on lan 功能 nodejs android kotlin实现
有些机器支持WOL功能,可以远程唤醒机器, 几乎所有品牌的硬件都支持WOL,由于安全原因,可能在软件上默认WOL处于关闭状态。原创 2023-04-04 15:14:07 · 624 阅读 · 0 评论 -
express res.download 方法
如果需要继续处理,可以使用next()交给下一个中间件去处理,这样就可以使用res.send(‘错误描述’);filename:文件下载后的名字;path:要下在的文件所在的路径;res.download 方法。原创 2023-03-24 15:06:11 · 517 阅读 · 0 评论 -
Error: Cannot find module ‘webpack-cli/bin/config-yargs‘
webpack 问题记录, 升级webpack-cli 与 webpack-dec-server的版本到最新。webpack-cli 与 webpack-dec-server 版本不兼容。原创 2023-03-14 15:20:21 · 62 阅读 · 0 评论 -
网页全屏实现
参考: https://blog.csdn.net/sadasda1/article/details/103922237。翻译 2023-01-29 09:35:36 · 167 阅读 · 0 评论 -
element-plus实现文件点击上传UI
思路, upload组件会显示待上传文件, 样式不统一。使用事件委托, 将upload组件隐藏起来。实现如下功能,点击这个按钮,文件直接上传。原创 2023-01-29 09:31:01 · 782 阅读 · 0 评论 -
stmp 发送QQ邮箱 nodemailer
在邮箱中开启stmp功能(发送邮件)from里的邮箱要与发送者邮箱一致python 方法。原创 2022-11-28 13:52:40 · 156 阅读 · 0 评论 -
js 操作符
读取对象深度属性, 不必验证每个引用是否存在, 如果为 null 或 undefined, 直接返回undefined, 而不会导致错误。当左侧为假值 (如 false、0、空字符串) 时,返回右侧 操作数, 否则返回左侧操作数。时,返回右侧操作数, 否则返回左侧操作数。ps:一些行为可能会导致意料之外的行为。|| – 逻辑或操作符。. – 可选链操作符。原创 2022-11-23 11:51:10 · 263 阅读 · 0 评论 -
rollbackFailedOptional: verb npm-session xxxxxx
rollbackFailedOptional: verb npm-session原创 2022-11-16 10:55:59 · 167 阅读 · 0 评论 -
vite自签名证书
参考 https://github.com/FiloSottile/mkcert。自己生成一个CA认证证书,然后使用这个CA签发一个localhost域名的证书。需要使用localhost域名,但是没有这个证书,怎么办?实现了localhost域名的https访问。调试的时候显示不安全。原创 2022-11-02 11:36:58 · 295 阅读 · 0 评论 -
letsencrypt + centsos7.9 + docker + express 搭建https环境
letsencrypt + centsos7.9 + docker + express 搭建https环境原创 2022-11-02 10:24:42 · 176 阅读 · 0 评论 -
vite3生产环境生产删除console
vite3生产环境生产删除console原创 2022-10-18 15:59:49 · 590 阅读 · 0 评论 -
vue3.2 基础及常用方法
Vue3.2 基础及常用方法原创 2022-10-17 13:50:25 · 4505 阅读 · 0 评论 -
Express连接Mysql数据库
Express连接Mysql数据库原创 2022-09-08 12:04:51 · 405 阅读 · 0 评论 -
session与JWT认证
Session与JWT认证原创 2022-09-08 11:36:04 · 964 阅读 · 0 评论 -
生产依赖与开发依赖区别: 前端程序没有区别,后端程序有点区别
开发依赖 devDependencies。生产依赖 dependencies。-D 或者 --save-dev。package.json中。原创 2022-09-07 15:06:22 · 679 阅读 · 0 评论 -
mysql2的callback与async写法
mysql2 callback与async写法原创 2022-08-25 11:13:23 · 295 阅读 · 0 评论 -
multiparty 和 busboy
mutiparty和busboy的使用原创 2022-08-24 14:31:37 · 79 阅读 · 0 评论 -
新建vite + vue3 + electron项目
vite + vue3 +electron 搭建过程原创 2022-08-11 00:50:54 · 674 阅读 · 0 评论 -
node js 文件读写 目录操作
node js 文件目录常用操作原创 2022-07-29 11:13:14 · 346 阅读 · 0 评论 -
ESlint 自动格式化保存
使用Eslint自动格式化代码原创 2022-07-24 19:11:21 · 383 阅读 · 0 评论 -
《webpack教程》
webpack 入门教程原创 2022-02-09 16:09:00 · 84 阅读 · 0 评论 -
防抖与节流函数总结
防抖和节流函数 概念,应用,代码及区别原创 2022-07-15 15:42:03 · 146 阅读 · 0 评论 -
linux安装特定版本 nodejs
参考 https://github.com/nodesource/distributions/blob/master/README.md#debinstall原创 2022-07-05 13:32:03 · 1333 阅读 · 0 评论 -
js addEventLisener 具名函数传递局部参数
有个功能需求,需要在用具名函数(为了可以在其他地方清除EventLisener),同时需要传递局部参数。方法: 在外部保留handle引用,在函数内部实现handle参考实现:<!DOCTYPE html><html><body> <button class="root">root keydown</button> <button class="clear">clear keydown</button>原创 2022-05-07 10:03:14 · 510 阅读 · 0 评论 -
js addEventListener传递参数的匿名函数和具名函数写法
mainNode是HTML元素, 我需要在监听函数中传递参数给Handle函数,function mainNodeHandle(e, props) { console.log(e, props)}使用匿名函数比较简单,但是无法手动移除监听mainNode.addEventListener('keydown', (e) => mainNodeHandle(e, props))...使用具名函数,需要加一个用于中转调用的函数mainNode.addEventListener('key原创 2022-02-23 11:17:04 · 890 阅读 · 0 评论 -
Python JS代码压缩
打开电视首页,显示用时达到800ms, 看起来非常慢,经过打印时间来排查,加载一个77KB的翻译文件用时190ms,加载200KB的文件用时260ms, 这个是不可以忍受的。在电脑上看不出来,因为电脑加载大概在30ms左右。优化:首先想到的是删除不使用的字符串。 没有删除多少。另一个思路是压缩JS代码,通过把空行空格注释去除,可以提高JS运行速度,同时减少体积。先去百度一下解决方案有比较多文章介绍使用uglifyjs来压缩混淆js代码服务器下安装npm install uglify-es -原创 2022-02-16 17:43:38 · 1029 阅读 · 2 评论 -
合并两个对象
// 现有两个对象:const obj1 = { students: { lingxuan: { name: 'lingxuan', addr: 'guangzhou' } }}const obj2 = { students: { lingxuan: { mobile: '1823430****' } }, teachers: { sam: { name: 'sam' } }}原创 2022-02-09 15:58:06 · 250 阅读 · 0 评论 -
vmware 为 ubuntu分配空间
关机后,在vmware分配新的空间打开Unbutusudo apt-get install gparted安装gparted打开gparted右键未分配空间,new,或者扩宽原空间然后点击上面绿色的加号原创 2022-01-07 19:50:37 · 855 阅读 · 0 评论 -
alexa sdk debug
Alexa SDK原创 2022-01-05 20:49:08 · 573 阅读 · 0 评论 -
Webpack 搭建模块化的 Vue2 + JSX + Babel
Webpack 搭建模块化的 Vue2 + JSX + Babel原创 2021-12-02 18:07:09 · 3055 阅读 · 0 评论 -
少使用else
如题:尽量少使用else if/ else比如:let i = 3if (typeof i === 'string') { //...} else if (typeof i === 'number') { //...} else if (i === 3) { // 这里虽然符合条件,但是却不会走} else {}当存在非互斥关系时,很可能产生错误, 尤其是存在多个else if 的时候, 判断容易出错, 代码阅读体验也不好可以用switch 或者 if + return原创 2021-11-12 16:09:10 · 140 阅读 · 0 评论 -
手写new
参考MDN:new 关键字会进行如下的操作:创建一个空的简单JavaScript对象(即{});为步骤1新创建的对象添加属性__proto__,将该属性链接至构造函数的原型对象 ;将步骤1新创建的对象作为this的上下文 ;如果该函数没有返回对象,则返回this。function myNew(fn, ...args) { const obj = Object.create(fn.prototype) let res = obj.apply(fn, args) return typ原创 2021-10-26 11:55:29 · 75 阅读 · 0 评论 -
实现最小栈
let Stack = function () { this.items = [] this.min = null } Stack.prototype.push = function (item) { this.items.push(item) if (this.min === null) { this.min = item } this.min = Math.min(item, this.min) } Stack.protot原创 2021-11-03 17:59:30 · 89 阅读 · 0 评论 -
substring字符串方法 js
// 关于substring截取字符串, 返回的是一个新的字符串stringObject.substring(start,stop)内容是从 start 处到 stop-1 处的所有字符如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。不接受负数使用这个就够了:截取三个字符str.substring(n, n + 3)str.substring(n + 3, n)截取当前到最后一个字符str.substring(n, str.length)...原创 2021-11-03 17:34:40 · 85 阅读 · 0 评论 -
JS事件循环优先级
function test() { return new Promise((resolve, reject) => { console.log('in promise'); resolve(); })} console.log('start'); setTimeout(() => { console.log('in setTimeout');},0); test().then(() => { console.l原创 2021-10-29 09:30:07 · 611 阅读 · 0 评论 -
js Set Map WeakSet WeakMap区别
Set Map WeakSet WeakMap区别Set成员不能重复 - 使用精确相等 ===, NaN与NaN判等只有键值,没有键名,与数组类似可以遍历属性: 没有length. size表示数量set.size()初始化 let set = new Set(array)方法 add(value) delete(value) has(value) clear()数组去重: […new Set(arr)]转换为数组 Array.from(set) 或者 […set]遍历:set.原创 2021-10-21 10:26:08 · 246 阅读 · 0 评论