如何解决具有客户端,服务器和共享代码的项目中的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 举报,一经查实,本站将立刻删除。