简而言之:对于下面描述的项目,我如何才能最好地进行配置以使两个应用程序(客户端+服务器)运行?
我正在开发一个运行时间较长的项目,随着时间的推移,该项目演变成一个单一的存储库。我无法共享完整的代码,因为该项目是私有的,但该项目大致具有以下结构,并用数字标记,因此我可以在此示例中轻松引用特定文件:
<repo-root>/
1 个包.json
2 tsconfig.json
客户/
3 包.json
4 tsconfig.json
页数/
索引.tsx
全球的/
5 包.json
6 tsconfig.json
源代码/
9 索引.ts
建造/
索引.js
索引.d.ts
服务器/
7 包.json
8 tsconfig.json
源代码/
索引.ts
垃圾桶/
索引.js
具体来说,客户端包含一个NextJS项目,服务器包含一个NodeJS Express服务器,全局目录包含客户端和服务器都使用的一些共享功能和接口。
客户端和服务器能够通过 typescript 项目引用访问 global,以及使用 typescript 别名映射@global/到客户端上的 global/src 目录以及服务器上的 global/build 目录,如 tsconfig 文件中所示以下。之所以在global中有一个build目录,是因为我们在服务器中有一个编译环境;服务器应用程序的构建tsc和运行node server.js(大致)。以下是编号的文件,放入 Pastebin 中,这样帖子就不会很大:
8 是一个代码片段,因为我当天的访客粘贴用完了:
<repo-root>/ 1 package.json 2 tsconfig.json client/ 3 package.json 4 tsconfig.json …