掘友等级
获得徽章 0
#每天一个知识点#
一图区分 策略模式🏃 & 工厂模式🏭 异同
#每天一个知识点#
Mongoose调用save类API时, 校验,中间件的执行流程:
trigger saveAPI -> Doc validation -> model validation -> preSave middleware -> save
在 触发save之前 对实例值做的操作会被校验, preSave中 对实例值的操作 是最终存入数据库的值
web开发建议:
在开发调试环节 建议打开 控制台的 “源代码/来源” 的断点选择 “遇到未捕获异常时暂停”. 可增加异常定位效率
前因: 最近项目在生产环境中遇到追踪链路较长的报错, 且错误信息模糊; 而在开发环境中调试控制台并未报错, 导致难以确认问题来源, 直到打开这个选项以后,捕捉到部分被浏览器和谐的缺失数据, 进行兼容后得以解决
—— 浏览器和人一样: 有的问题发生时候,其实早就埋下了种子,只是因为当时认为不重要,选择性忽略掉
#每天一个知识点#
mongoose使用过程 异常记录:
前提: 函数在 mongoose的 中间件回调 需要采用 函数声明 写法 —— 才能 正确获取 执行上下文
当项目配置采用 ESLint 管理格式化, 并采用 airbnb 风格时, 默认会将 函数声明转换为箭头函数 —— 这会导致 mongoose的中间件回调被转换为箭头函数, 获取this异常 —— 因此需要手动设置 `"prefer-arrow-callback": "off"` 确保不会转换格式
微信小程序云函数node版本12.16,根据历史版本,对应chrome浏览器78版本的v8引擎;由此可以在canIuse网站上确认哪些语法无法识别导致 云函数本地测试通过,上传以后请求报500的问题。比如可选链操作符在云函数就🙅使用
#每天一个知识点# Redux原生方式定义使用状态较为繁琐。但通过Redux的核心概念理解,能便于更好使用Redux Toolkit
采用TS的类型判断语法,搭配自定义函数判断类型,可以让TS提示有效的具体类型
JS类私有属性 在属性前置加上 `#`; TS类私有属性 在属性前加关键字 `private`;TS的关键字`private`在编写编译过程可被识别校验,不被JS识别。
#每天一个知识点# CSS在使用原始布局排列元素,没有采用flexbox和grid布局时,产生的异常&解决方案
采用express开发应用时,个人理解【MVC模式】指的是如何编写各种“中间件”:
C:处理同类型的中间件可以封装为一类controller,如用户页 controller,以及管理员 controller;用户页controller 中可以编写各种用户页相关的“中间件”
M,V:这些中间件接收请求,采用定义好的 model 去处理数据,再决定渲染何种 views
由此形成了 MVC模式的开发
下一页