1

因此,我在使用一些示例es6项目时一​​直使用Visual Studio代码(vscode)。如果您在使用vscode时为es6项目提交typings文件夹?

我的理解是,为了让智能感知能够与节点模块一起正常工作,您需要包括您正在使用的项目的类型(Link here)。

我还了解到,您可以使用typings.json文件来存储所有“类型定义”,并运行typings install来检索所有类型。

这都是为了让智能感知在vscode中工作。我不确定是否应该从版本控制中排除这个(typings文件夹和typings.json)?

目前我认为编辑不应该影响源代码结构。我很确定你应该排除typings文件夹。我不确定typings.json。它对vscode用户可能有用,但对WebStorm/Atom/Sublime/Vim用户来说很可能毫无意义?

+0

如果你不控制它(在同一个项目中),它可能不属于同一个回购站。您最好使用现场代理或工件服务器,而不是将您的依赖项提交给每个项目。 – ssube

回答

2

可以通过运行typings install轻松地重新创建类型文件夹的内容。如果您有任何类似webpack,browserify,gulp或类似的构建过程,那么您还需要让这些定义能够在持续集成系统中运行打字稿编译器。

因此,您应该提交typings.json并添加一些npm postinstall脚本,以便在运行npm install时自动下载类型,以便能够以自动方式构建您的代码。

+0

这是基于es6的项目,而不是基于打字稿的。我认为这对于打字稿项目很有意义,尽管 –

+0

你的意思是什么?一个自动构建过程?当然这对于打字稿项目是有意义的。我们一起使用typescript和webpack,这是一个非常好的比赛。即使角2现在提供了一个关于在webpack中使用打字稿的教程:https://angular.io/docs/ts/latest/guide/webpack.html。当你使用打字稿和打字时,你可能已经为你的项目配置了npm,对吧?那么为什么不只是添加一个后安装脚本并删除typings文件夹呢? –

+0

或者如果您使用的是Gitlab/Travis YML构建脚本,则只需添加一行即可在运行tsc/webpack/gulp/whatever之前安装类型。 – ssube