Could not find a declaration file for module-name 可能有两种情况:
1.引入第三库
安装 @types/module-name,为第三库提供类型声明。
1 | npm install -D @types/module-name |
Monorepo 也叫单体代码库,就是把很多个项目的代码放在一个仓库里,这些项目之间可能有关系也可能没有,放在一个仓库的目的是为了简化开发流程、提高开发效率。
在 Parallels 安装了 Windows 10 系统,直接编辑 hosts 文件提示没有权限保存,用以下方法解决:
1.打开 hosts 文件所在的文件夹
1 | cd C:\Windows\System32\drivers\etc |
2.cmd 用管理员身份打开
3.cmd 上输入命令 notepad hosts
1 | notepad hosts |
某次升级完 VS Code 之后,打开窗口便一直出现一个错误提示。如下所示。
1 | Unable to resolve your shell environment in a reasonable time. |
点击错误提示下方的官方文档按钮,进入官方文档,查看如何解决。文档说是加载终端配置的时间太长了,才出现的错误;终端配置文件可能是 ~/.bashrc
和 ~/.zshrc
。
查看终端配置文件,发现我并没有 ~/.bashrc
,猜想可能是该文件缺失导致的。
TypeScript 是一种类型安全的 JavaScript 语言,以下使用 TS 进行代称,使用的 TS 的好处如下:
window 对象
1.关注 window.onerror,用于前端错误收集和上报,ps 阿里云有免费的日志服务,可以收集前端错误,上报到阿里云服务器
2.使用 setTimeout 替换 setInterval 用于定时器,setInterval 缺点是不能控制间隔时间,有可能浏览器重新获得焦点后会执行多次
3.innerWidth 和 innerHeight 可以获取浏览器窗口的宽高,有些浏览器不支持,比如 IE,可以使用 document.body.clientWidth 和 document.body.clientHeight 获取
location 对象
1.关注 location.href,用于获取当前页面的 url 和替换当前页面的 url,可回退
2.关注 location.replace,用于替换当前页面的 url,不可回退
navigator 对象
1.关注 navigator.userAgent,用于获取当前浏览器的 userAgent
2.关注 navigator.language,用于获取当前浏览器的语言
3.关注 navigator.onLine,用于获取当前网络是否连接
history 对象
1.关注 history.pushState,用于替换当前页面的 url,可回退
2.关注 history.replaceState,用于替换当前页面的 url,不可回退
Promise 是 ES6 内置的对象,用一个对象实例表示某个操作最终是成功或者失败,并且将成功值或者原因暴露出来,它主要解决了异步编程过程中存在的两个问题:
1.回调地狱问题
2.信任问题
1.回调地狱问题
1 | ajax('/url1', {param: {}}, (res1) => { |
Hooks 是 React 16.8 版本新出的功能,比 class 具有很多优点。
使用一些技巧优化 React 性能。