Typescript 编译排除文件夹但保留导入

Typescript Compile Exclude Folders but Keep Imports

我有一个 express Typescript 应用程序,它是我的网络应用程序的后端。应用程序的一般根结构是

- client
    - tsconfig.json
    - React code
- server
    - application.ts
    - tsconfig.json

我需要编译服务器文件以便我可以 运行 ts-node app.ts。问题是 运行ning tsc 编译了根目录中的所有文件,而不仅仅是 server 目录。我知道我可以在 tsconfig 中使用 exclude,但在 app.ts 中我有从 front-end 导入的类型定义。无论如何只编译 server 目录中的文件同时能够保留导入?

最好将 TypeScript 类型定义分离到单独的文件中,这样它们就不会依赖于您的代码。按照惯例,*.d.ts 文件扩展名用于此目的。

我建议您为类型定义创建另一个文件夹并将其移动,使其成为 serverclient 文件夹的同级文件夹。这样它就可以同时包含在前端和后端编译中。但是,在前端和后端之间共享类型定义之前一定要三思——如果后端对象需要存储更复杂的逻辑而前端不需要,那么它有时可能是错误的选择。