[英]Declaration types in typescript
这两天一直在做网页,选择使用TypeScript。
我选择了 Express.js 作为 Web 服务器,并且我过去使用过 Express,所以我了解 Express。
我看到 TypeScript 对每个属性和属性都有很高的评价,我对此有疑问,因为默认情况下未设置属性“user”,我想用它来保存解码的用户会话。
在网上搜索后,我发现了这个:
declare module "express" { // declare module "express-serve-static-core"
export interface Request {
user: any
}
}
来自这篇文章: 打字稿错误:“请求”类型上不存在属性“用户”
我将它粘贴到一个文件中,它运行良好,但我有两个问题:
问题 1:在处理整个项目的标准基于 TypeScript 的工具(例如tsc
和 Visual Studio Code)中,在项目的任何文件(基于tsconfig.json
的files
、 include
和exclude
设置)中,像您这样的模块扩充是对项目中使用原始模块的所有文件自动生效; 无需显式引用包含扩充的文件。 但是, ts-node
默认只将文件在运行时加载时传递给 TypeScript(文档)。 您可以使用--files
选项让ts-node
将整个项目传递给 TypeScript。 (这足以让您的模块扩充工作,但请注意,这仍然不会在运行时急切地加载所有文件。为此,您必须使用import
或require
,然后您就不再需要--files
.)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.