网页文件加载失败如何重试(一)

本文主要讲解脚本文件加载失败时的处理背景在我们开发网站应用时,我们可能会遇到脚本加载失败的情况,导致脚本加载失败的原因有很多,比如用户的网络问题、终端设备问题、用户浏览器版本等诸多因素。解决方案在 JavaScript 中,我们可以创建一个监听来监听脚本加载失败的情况,然后针对加载失败的脚本进行重新加载。重新加载的方案,一般是通过更换域名来解决。我们给每个脚本添加一个映射关系表,用来在加载失败时匹

- 阅读全文 -

在vue中定义一个防抖ref

背景在vue的开发过程中,我们通常会使用到ref,但在我们需要对一个频繁的赋值操作做防抖操作时,我们通常只能通过编写一个独立的防抖函数来实现,这样相对会多一些步骤(麻烦一些)。例如我们给一个即时搜索框的input实现防抖输入(即在输入文本n秒之后才触发搜索,避免频繁请求后端接口浪费资源)时,我们不仅不能使用v-model,而且还要定义一个input事件和防抖函数,非常之繁琐。此时,我有一个简洁的方

- 阅读全文 -

文档流下载

文档流下载Excel、PPT、Word等文档流下载以下是一个简单的下载示例,具体配置根据使用的请求工具有所差异const downloadExcel = async () => { const typeMap = { "application/vnd.ms-excel": "xls", "application/mswor

- 阅读全文 -

Ts中never类型的妙用

妙用一当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以使用never类型来辅助我们的函数,当我们在原有的类型基础上添加了新的类型时,可能会导致else分支中的代码逻辑出现问题,此时我们可以向下面这样写来校验。// 当类型Method只有GET和POST时 type Method = &quo

- 阅读全文 -

如何更新项目依赖

在维护一些比较古老、时间线拉的特别长的项目时,可能会遇到项目依赖版本进行好几次迭代的情况。当项目依赖中出现了对项目特别有帮助的更新或者是一些bug fix,那我们可能就会想更新该依赖,但是这样有可能导致有些存在相互依赖关系的依赖出现问题,那这时,这个库就派上用场了。 npm-check-updates这个库可以检测出我们的package.json中哪些库已经过时并且可以更新# 全局安装 # npm

- 阅读全文 -