11 2022 档案
摘要:小程序执行构建npm时报错: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogramRoot` 目录内,或配置 project.config.json 的 packNpmManually 和 packNpmRelationList 进行构建 [1.06.2210
阅读全文
摘要:2022年5月4日,Github宣布所有在GitHub.com上贡献代码的用户必须在2023年年底前使用2FA,才能继续使用该平台。 2FA,全称2 Factor Authentication,双因素验证。所谓双因素,意思就是使用二级身份验证。比如不仅要求输入密码,还要输入一个新生成的验证码。而2F
阅读全文
摘要:以前我对css优先级的理解很浅,一直以为id选择器最高,并且当出现class="a b c"时,优先级c>b>a。后来又错误地理解为a、b、c三者的优先级高低是根据出现的先后次序来的,后出现的会覆盖先出现的。为此产生了不少bug。于是今天就来把这个问题给搞清楚了。 在讲css优先级之前,先明确几个重
阅读全文
摘要:事件机制用起来很舒服,我只要往事件管道投一个事件进去,就可以给目标对象传递一些数据,而不需要获取目标对象的引用。 但是,事件机制也不能乱用,因为它一来让数据的传递不是那么直观,二来还没法方便地利用类型检查(得每次调用接口传递泛型)。 那什么时候建议使用事件机制呢? 首先要认识到,事件是通信方式的一种
阅读全文
摘要:v-if和v-for的优先级 在vue2中:当v-if和v-for同时使用时,v-for的优先级高于v-if(因此我们通常需要计算属性先对数据进行加工处理,以达到性能优化的目的) 在vue3中:当v-if和v-for同时使用时,v-if的优先级高于v-for .sync修饰符 vue2中:由于vue
阅读全文
摘要:前端使用vue+ts、react+ts、uniapp+ts开发,后端使用express+ts开发,都用到了很多相同的ts工具函数。 早期为了赶进度,选择复制粘贴。但这样的缺点是每次更新需要手动同步,容易遗漏,导致出现脏代码。因此考虑建立公共代码库。 由于项目都在一台电脑上,且无需多人合作,因此选择在
阅读全文
摘要:Record的定义中出现了K extends keyof any: type Record<K extends keyof any, T> = { [P in K]: T; }; 不管什么类型,它的key总是string、number、symbol中的一种。因此,keyof any的结果是strin
阅读全文
摘要:两者大致相同,只有轻微区别: interface使用extends继承,type使用&继承。 type可以声明联合类型和元组类型,interface不行: type unionType = myType1 | myType2 type tupleType = [myType1, myType2] t
阅读全文
摘要:type Exclude<T, U> = T extends U ? never : T; type Extract<T, U> = T extends U ? T : never; 从名字上看,Exclude是将类型U从类型T中去除,生成一个新类型;Extract则是从类型T中提取类型U。 但从定
阅读全文
摘要:有一次更新了服务端代码,发布到云服务器后重启,结果前端访问一直502。 看了nginx日志,推测是服务没有启动起来。 后进入项目目录,使用node server.js启动,结果报错。原因是缺少multer包。 原来是我新增了文件上传功能,但没有npm i下载依赖。 原先使用pm2后台启动服务,看不到
阅读全文
摘要:我是先使用vue2,然后vue3,最后就是现在的react。 这几个框架用下来,说一说我对它们的理解吧。 其实严格上来说,react只是一个库。因为官网上就是这么写的:“用于构建用户界面的JavaScript库”。事实上,它做得事情也确实少,简单地说,就是提供了组件化方案和模板化语言JSX。但也就这
阅读全文