掘友等级
获得徽章 5
前端项目中在使用ESModules(import/export)引入commonjs(module.exports)导出的模块时,有时候会报错,需要修改引入方式解决,比如import qs from 'qs' 改为 import * as qs from 'qs';其实也可以通过修改tsconfig.json的方式解决,即配置compilerOptions.esModuleInterop为true。
公共网络可能用不了ssh,我倒腾了一个下午才发现。但还没找到为什么
继续深入组件章节:
1.inheritAttrs和$attrs这对好基友,在写基础组件时候会大有用途。
2.emits消除了之前的魔法事件。回调校验有点意思,多个v-model大开眼界,v-model modifiers还有优化空间。
3.$refs 只会在组件渲染完成之后生效。避免在模板或计算属性中访问 $refs。
4. 啥是Suspense?
重读vue3基础文档,发现开发中总是遗忘的小点:1. vue的计算属性支持setter。不用再为computed attr赋值失败头疼了。😯
2. style属性支持值为Object Array。也就是可以< :style="[obj1, obj2]">,vue会合并这两个对象。
3. v-for可以遍历对象。遍历结果与Object.keys()一致,我之前还用Object.entries()🤦♀️
4. 事件回调可以是多个方法。< @click="one($event), two($event)">
5. 可以直接在元素上使用scroll事件,配合passive使用更佳。< @scroll.passive="onScroll">
6. 多个复选框可以使用一个数组。codepen.io
nodejs不适用的三个场景:
1. 计算密集型程序。
因为nodejs单线程的特性,只能使用一个cpu核心,如果有个计算密集型程序要占用cpu200毫秒,那么事件循环中的代码都会延迟200毫秒执行。
不过一般真实场景不会将这样一个程序做成实时响应型的。比如抖音用户上传视频,视频转码、鉴黄都属于计算密集型的,所以会在用户上传之后,提示用户要等一会儿,等处理完再来提示用户。
2. 单用户多任务型应用
nodejs的异步机制可以处理多用户的并发请求,但是却无法对单用户的多任务线性执行有更好的表现,因为它无法利用很多的服务器资源,也没有锁。
3. 逻辑十分复杂的事务
有些现实中很复杂的场景,写成程序后,只能按部就班的一步步执行,而nodejs的异步机制显然不是线性的。
来自《nodejs开发指南》
掘金App在ios深色模式下的表现真的是一言难尽啊
《红楼梦》的「草蛇灰线」写法,其实不就是预先申明的变量最后都会用到嘛