VS Code和Typescript:Library和几个Frontends

时间:2017-08-16 19:47:04

标签: typescript visual-studio-code

我正在寻找一种构建解决方案的方法(=几个项目)。更确切地说,我想构建一个库,以及两个使用该库的应用程序:一个网站和一个命令行工具。

在Visual Studio / C#中,这很容易。我将创建三个项目,一个用于库,一个用于cmd线工具,一个用于图形输出(web或表单)。最后两个引用第一个。解决方案将构建所有三个。

我可以使用VSCode和Typescript做类似的事情吗?我如何设置根文件夹?什么是项目的子文件夹?如何控制构建的内容?我需要多次调用编译器吗?

或者我是否使用不同的文件夹,并根据需要关闭/重新打开VSCode,并在两个用户程序中使用生成的lib的javascript?

我更喜欢集成版本......

1 个答案:

答案 0 :(得分:0)

TL; DR使用lerna

我推荐以下文件夹结构

 - packages
 ---------- CLI
 ---------- webapp 
 ---------- common  
 - package.json
 - .gitignore 
 - ...

packages文件夹中的每个子文件夹都有自己的构建过程,测试和发布。重要的是为每个包保持统一的生命周期。在根文件夹中,您只保留包维护的数据。主要是为所有(或某些)包运行构建,测试和发布。

typescript位不太复杂,因为每个包都有.tsconfig。您还可以使用配置文件的extend功能将公共配置保存在repo的根目录中。

管理所有这些而不是使用手工制作的脚本的常用工具是lerna。其中有很多关于管理mono-repos的信息。您可能想要查看lerna bootstrap,它有助于在开发时间内将依赖包链接在一起。