打字稿本地依赖项(多个项目)

时间:2017-04-25 05:42:25

标签: typescript npm webpack visual-studio-code typescript-typings

我是打字稿的新手。我目前正在尝试创建一个彼此依赖的项目结构。有三个项目corecalculatortax-calculator。项目tax-calculator需要来自calculator项目的代码,该项目需要core项目中的内容。 corecalculator项目应该是库,tax-calculator应该是一个Web界面。我拆分代码的原因是,我在其他项目中也需要corecalculator

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

如何使用npmwebpack提供其他项目中的资源?我正在使用VisualStudio Code,我希望在使用@types/chrome或其他类型时开发时使用自动缩放和其他功能。

1 个答案:

答案 0 :(得分:1)

参加聚会的时间不多,但我将提供截至2018年12月的可用其他选项:

使用Node / shell脚本进行自定义设置,就像在Cycle.js中一样:

Setting up JavaScript Monorepo

使用Lerna:

Babel,Marble.js,Material,Angular等许多大型项目都使用Lerna进行多程序包设置。

打字稿项目参考:

TypeScript 3.0现在提供了对Project references的支持。

Git子模块

Git子模块也可以使用,尽管它不仅仅是TypeScript。它可以用于共享任何类型的代码。 Ghost博客平台使用此方法。除非您知道与此相关的所有问题,否则我不会真正推荐这种方法。

此外,如果您使用的是Yarn,则可以考虑工作区,尽管我不确定它在TypeScript中的表现如何。