序
本文记录开发过程中,实际经常会碰到的、但是呢又不是那么容易从documents里一翻即用的知识点。希望对大家有帮助。
经常碰到的Cannot find module问题
例如:Cannot find module '@/assets/logo.png' or its corresponding type declarations.ts(2307)
ts它认识的模块,都得教吖,所以得声明模块类型。像框架中,就直接在typings.d.ts中添加:
declare module "*.png" {
const value: any;
export default value;
}
或者简写:
declare module '*.png'
组织目录也可以更清晰一些,譬如:
root
-typings
--custom
---import-png.d.ts
全局变量声明
当我们需要给window对象添加全局变量xxx(例如某埋点在模版html脚本中添加的全局变量_czc),会出现以下提示“类型'Window & typeof globalThis'上不存在属性xxx”。 产生类型报错的原因是因为window数据类型定义如下:
declare var window: Window & typeof globalThis;
解决方案:在.d.ts中添加自定义属性声明,如下:
interface Window {
_czc: string;
}