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

arc*_*hos 6 npm typescript webpack visual-studio-code typescript-typings

我是打字稿的新手.我目前正在尝试创建一个彼此依赖的项目结构.有三个项目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
Run Code Online (Sandbox Code Playgroud)

如何使用npm或提供其他项目中的源webpack?我正在使用VisualStudio代码,我想在开发时使用自动缩放和其他功能,就像我使用@types/chrome或其他类型.

Har*_*til 4

有点晚了,但我将提供截至今天(2018 年 12 月)可用的不同选项:

使用 Node/Shell 脚本进行自定义设置,就像在 Cycle.js 中完成的那样:

设置 JavaScript Monorepo。

使用勒纳:

许多大型项目包括 Babel、Marble.js、Material、Angular 使用 Lerna 进行多包设置。

Typescript 项目参考:

TypeScript 3.0 现在提供了对项目引用的支持。

Git 子模块

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

另外,如果您使用 Yarn,则可以考虑工作区,尽管我不确定它与 TypeScript 的配合效果如何。

  • 如此简单的用例没有明确的答案,这一事实说明了 JS 基础设施有多么糟糕。这对于 Java 和 Maven 来说是理所当然的事情。 (5认同)