显示错误的方式:
1、全局的*.d.ts里声明的类型,但是并不能全局使用,需要导入。
2、Idea 会显示红线在命名空间下面。
3、编译打包会报 typescript Cannot find namespace '*****'
修正问题:
1、Idea会让你导入要引用的那个类型声明文件。这很麻烦,很多地方都需要引入。虽然可以解决问题。
2、在你报错的那个全局声明文件的头部应该是用了import ,去掉这个import 。如果不能去掉,想导入怎么办呢?详见:全局声明里导入其它模块. 如下所示
declare namespace Express {
interface Request {
user: import("./user").User;
}
}