我有一个快速的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
目录中的文件而又能保留导入?
答案 0 :(得分:1)
优良作法是将TypeScript类型定义分成单独的文件,以使它们不依赖于您的代码。按照约定,*。d.ts文件扩展名用于此目的。
我建议您为类型定义创建另一个文件夹并将其移动,以使其成为server
和client
文件夹的同级文件。这样,它既可以包含在前端编译中,也可以包含在后端编译中。但是,在前端和后端之间共享类型定义之前,请三思而后行-如果后端对象需要存储更复杂的逻辑而前端则不需要,这有时是错误的选择。