包含客户端、服务器和共享代码的项目中的 Typescript 文件夹结构

2024-02-17

我有一个具有以下结构的项目

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,它提供不同的 html 文件server/templates。我希望服务器代码使用 Typescript,编译后的输出应该转到server/out.

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

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

在未来的某个时候,我想将整个项目迁移到 TS,但我还没有接近这个目标。

我如何使用 Typescript 来实现这一目标?

我已经解决了 webpack 方面的问题。我的问题出在 TS 编译器上。我无法让它工作,因为共享已经过时了compilerOptions.outDir,但是如果我将其设置为整个项目文件夹,我最终会得到一个疯狂的结果server/out文件夹结构。就像是server/out/server/src/index.js

My 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"
  },
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含客户端、服务器和共享代码的项目中的 Typescript 文件夹结构 的相关文章

随机推荐