打字稿编译排除文件夹但保留导入

时间:2020-06-18 15:55:30

标签: reactjs typescript tsc

我有一个快速的Typescript应用程序,它是我的Webapp的后端。该应用的一般根结构为

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

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

1 个答案:

答案 0 :(得分:1)

优良作法是将TypeScript类型定义分成单独的文件,以使它们不依赖于您的代码。按照约定,*。d.ts文件扩展名用于此目的。

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