我正在寻找一种构建解决方案的方法(=几个项目)。更确切地说,我想构建一个库,以及两个使用该库的应用程序:一个网站和一个命令行工具。
在Visual Studio / C#中,这很容易。我将创建三个项目,一个用于库,一个用于cmd线工具,一个用于图形输出(web或表单)。最后两个引用第一个。解决方案将构建所有三个。
我可以使用VSCode和Typescript做类似的事情吗?我如何设置根文件夹?什么是项目的子文件夹?如何控制构建的内容?我需要多次调用编译器吗?
或者我是否使用不同的文件夹,并根据需要关闭/重新打开VSCode,并在两个用户程序中使用生成的lib的javascript?
我更喜欢集成版本......
答案 0 :(得分:0)
TL; DR使用lerna。
我推荐以下文件夹结构
- packages
---------- CLI
---------- webapp
---------- common
- package.json
- .gitignore
- ...
packages文件夹中的每个子文件夹都有自己的构建过程,测试和发布。重要的是为每个包保持统一的生命周期。在根文件夹中,您只保留包维护的数据。主要是为所有(或某些)包运行构建,测试和发布。
typescript位不太复杂,因为每个包都有.tsconfig
。您还可以使用配置文件的extend功能将公共配置保存在repo的根目录中。
管理所有这些而不是使用手工制作的脚本的常用工具是lerna。其中有很多关于管理mono-repos的信息。您可能想要查看lerna bootstrap,它有助于在开发时间内将依赖包链接在一起。