Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用vscode时,是否应提交es6项目的typings文件夹?_Javascript_Ecmascript 6_Visual Studio Code_Typescript Typings - Fatal编程技术网

Javascript 在使用vscode时,是否应提交es6项目的typings文件夹?

Javascript 在使用vscode时,是否应提交es6项目的typings文件夹?,javascript,ecmascript-6,visual-studio-code,typescript-typings,Javascript,Ecmascript 6,Visual Studio Code,Typescript Typings,因此,在处理一些示例es6项目时,我一直在使用Visual Studio代码(vscode) 我的理解是,为了让intellisense能够正确地处理节点模块,您需要包括正在处理的项目的类型() 我还了解到,您可以有一个typings.json文件来存储所有“类型定义”,然后运行typings安装来检索所有类型 这就是让intellisense在vscode中工作的全部内容。我不确定的是,您是否应该将此(typings文件夹和typings.json)从版本控制中完全排除 目前,我认为编辑器不应

因此,在处理一些示例es6项目时,我一直在使用Visual Studio代码(vscode)

我的理解是,为了让intellisense能够正确地处理节点模块,您需要包括正在处理的项目的类型()

我还了解到,您可以有一个
typings.json
文件来存储所有“类型定义”,然后运行
typings安装
来检索所有类型

这就是让intellisense在vscode中工作的全部内容。我不确定的是,您是否应该将此(
typings
文件夹和
typings.json
)从版本控制中完全排除


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

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


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

这是针对基于es6的项目,而不是针对基于typescript的项目。我认为这对于typescript项目是有意义的,但你到底是什么意思?自动构建过程?当然,这对于typescript项目是有意义的。我们正在一起使用typescript和webpack,这是一个很好的匹配。甚至angular 2现在也提供了一个关于在webpack中使用typescript的教程:。当您使用typescript和打字时,您可能已经为您的项目配置了npm,对吗?那么,为什么不添加一个postinstall脚本并删除typings文件夹呢?或者如果您使用的是Gitlab/Travis YML构建脚本,那么您只需在运行tsc/webpack/gulp/whatever之前添加一行来安装typings。如果您不控制它(在同一个项目中),它可能不属于同一个repo。您最好使用现场代理或工件服务器,而不是将依赖关系提交到每个项目。