我是打字稿的新手。我目前正在尝试创建一个彼此依赖的项目结构。有三个项目core
,calculator
和tax-calculator
。项目tax-calculator
需要来自calculator
项目的代码,该项目需要core
项目中的内容。 core
和calculator
项目应该是库,tax-calculator
应该是一个Web界面。我拆分代码的原因是,我在其他项目中也需要core
和calculator
。
core
|--src
|--MathUtils.ts
|--...
|--dist
|--MathUtils.js
calculator
|--src
|--Calculator.ts // needs MathUtils.ts
|--dist
|--Calculator.js
tax-calculator
|--src
|--TaxCalculator.ts // needs Calculator.ts
|--dist
|--TaxCalculator.js
如何使用npm
或webpack
提供其他项目中的资源?我正在使用VisualStudio Code,我希望在使用@types/chrome
或其他类型时开发时使用自动缩放和其他功能。
答案 0 :(得分:1)
参加聚会的时间不多,但我将提供截至2018年12月的可用其他选项:
Setting up JavaScript Monorepo。
Babel,Marble.js,Material,Angular等许多大型项目都使用Lerna进行多程序包设置。
TypeScript 3.0现在提供了对Project references的支持。
Git子模块也可以使用,尽管它不仅仅是TypeScript。它可以用于共享任何类型的代码。 Ghost博客平台使用此方法。除非您知道与此相关的所有问题,否则我不会真正推荐这种方法。
此外,如果您使用的是Yarn,则可以考虑工作区,尽管我不确定它在TypeScript中的表现如何。