具有客户端,服务器和共享代码的项目中的Typescript文件夹结构

问题描述

我有一个结构如下的项目

project
├── client
│   └── src
│       ├── index.js
│       ├── and.js
│       ├── some.js
│       ├── other.js
│       └── files.js
├── public
├── server
│   ├── out
│   │   ├── index.js
│   │   └── any.other.dependency.js
│   ├── src
│   │   ├── index.ts
│   │   └── foo.js
│   └── templates
├── shared
│   └── constants.js
└── mutliple.config.files.json

我的目标是要在server/src中拥有一台具有所有服务器逻辑的服务器,该服务器可以提供与server/templates不同的html文件。我希望服务器代码使用Typescript,并且编译后的输出应转到server/out

应用程序的客户端也位于client/src中。那里的逻辑非常复杂,我决定使用webpack进行捆绑。我什至会在将来增加一些反应。所有这些代码都是由webpcak编译的,生成文件位于/public中。

我还在客户端和服务器逻辑之间共享一些常量,因此我决定将它们放在./shared中。将来我可能想在此添加一些实用程序,因此我们假定它不仅是常量。

在将来的某个时候,我想将整个项目迁移到TS,但是我还不很了解。

如何使用Typescript实现此目的?

我已经整理好了webpack的一面。我的问题来自TS编译器。我无法使它正常工作,因为共享compilerOptions.outDir已用完,但是如果将其设置为整个项目文件夹,则最终会出现疯狂的server/out文件夹结构。像server/out/server/src/index.js

我的tsconfig.json看起来像这样:

{
  "extends": "@tsconfig/node12/tsconfig.json","include": ["server/src/*","shared/*"],"exclude": ["node_modules"],"compilerOptions": {
    "allowJs": true,"noImplicitAny": false,"outDir": "./server/out/","rootDir": "./server/src"
  },}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)