我希望能够在几个Typescript项目之间共享代码。
ts-project
├── project1
│ ├── package.json
│ ├── somecode.ts
│ └── tsconfig.json
├── project2
│ ├── somecode.ts
│ └── tsconfig.json
└── shared
├── dist
├── index.ts
├── package.json
├── someothercode.js
├── somesharedcode.ts
└── tsconfig.json
要在shared
中转译代码,我以前有allowJS: true
,因此someothercode.js
已包含在tsc转译步骤中,并且所有代码都以dist/
和{{ 1}}的{{1}}指向package.json
。
在main
依赖项的dist/index.js
中,我有project1
,可以像普通软件包一样package.json
共享代码。
以便打字稿编译器知道"shared":"file:../shared"
import
shared
的需求
project1
现在出现了我的问题,需要您的帮助。
为使项目引用正常运行,tsconfig.json
中的 "references": [{
"path": "../shared"
}]
需要一个属性
tsconfig
但是,设置了shared
后,我将无法再使用 "compilerOptions": {
"composite": true,
}
,这意味着composite: true
文件不再包含在dist文件夹中。
当前无法将所有allowJS: true
代码更改为someothercode.js
(我们正在努力!),因此我需要能够处理.js
和{{1 }}文件,但仍需要IDE打字稿支持并能够使用ts
。