我是打字稿的新手.我目前正在尝试创建一个彼此依赖的项目结构.核心,计算器和税收计算器有三个项目.项目税收计算器需要来自计算器项目的代码,该项目需要来自核心项目的内容.核心
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或其他类型一样.
晚会很晚,但我将提供截至2018年12月的不同选项:使用在Cycle.js中完成的节点/ shell脚本进行自定义设置:
Setting up JavaScript Monorepo.
使用Lerna:
许多大项目包括Babel,Marble.js,Material,Angular使用Lerna进行多包装设置.
打字稿项目参考:
TypeScript 3.0现在提供对Project references的支持.
Git子模块
也可以使用Git子模块,但它不仅仅是TypeScript.它可用于共享任何类型的代码. Ghost博客平台使用这种方法.除非你知道与此相关的所有问题,否则我不会真的推荐这种方法.
此外,如果您正在使用Yarn,您可以考虑工作区,但我不确定它与TypeScript的效果如何.