网站搜索

npm - Typescript 本地依赖(多个项目)


我刚接触 TypeScript。我目前正在尝试创建一个相互依赖的项目结构。有三个项目:core、calculator 和 tax-calculator。项目 tax-calculator 需要从 calculator 项目中获取代码,而 calculator 需要 core 项目的内容。core 和 calculator 项目应该是库,而 tax-calculator 应该是一个网页界面。我之所以拆分代码,是因为我在其他项目中也需要使用 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 的项目中可用?我正在使用 Visual Studio Code,我希望在开发时使用自动补全和其他功能,就像我使用 @types/chrome 或其他类型时一样。

答案#1

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

使用 node/脚本自定义设置,如在 Cycle.js 中所做的:

设置 JavaScript 单仓库。

使用 Lerna:

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

TypeScript 项目引用:

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

Git 子模块

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

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

相关文章