我有多个打字稿projects (e.g. client
and server
),它们共享一些通用功能(位于common
文件夹)。考虑这个文件夹结构:
+ client
| - tsconfig.json
| + src
| - client.ts
+ common
+ src
- util.ts
哪里的client.ts
通过这种方式导入实用程序:
import { Util } from '../../common/src/util';
为了简洁起见,我省略了server
文件夹,与以下级别处于同一级别client
。编译后进入out
文件夹,我想得到这个简单的平面文件夹结构:
+ client
| + out
| - client.js
| - util.js
...理想情况下,我可以简单地导入与实际文件夹无关的通用实用程序:
import { Util } from './util';
我该如何配置tsconfig.json
为了实现这一目标?
我尝试了不同的组合rootDirs
, baseUrl
and paths
,但我仍然得到client
and common
子文件夹(甚至都包括它们的src
子文件夹)下out
.
现在我们在 Typescript 3.0 中支持项目引用(即多个 Typescript 项目的级联构建)。我们还可以控制输出位置tsc
builds.
https://blogs.msdn.microsoft.com/typescript/2018/07/30/announcing-typescript-3-0/#project-references
如果 Typescript 项目“bar”uses项目“foo”,以下是链接它们的方法:
// ./src/bar/tsconfig.json
{
"compilerOptions": {
// Needed for project references.
"composite": true,
"declaration": true,
// Other options...
"outDir": "../../lib/bar",
"strict": true, "module": "esnext", "moduleResolution": "node",
},
"references": [
{ "path": "../foo" }
]
}
谢谢各位TS们!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)