用 dts 签入 Visual Studio Code typings 文件夹有意义吗?
Does it make sense to check-in Visual Studio Code typings folder with dts?
使用 Visual Studio 代码。它建议导入类型定义并将它们下载到 /typings 文件夹中。
我需要签入此文件夹还是可以通过某种方式恢复它?
谢谢。
我发现签入 tsd.json 有助于设置新的开发人员,或者如果您需要在某处克隆存储库,甚至可以重新安装类型,因为如果您不这样做,tsd 将不知道要重新安装什么。
tsd init
(这会创建 tsd.json 文件)
tsd install node --save
(如果没有,这将创建 typings 文件夹并将节点类型添加到 tsd.json)
- 签入 tsd.json 文件并忽略 typings 文件夹(tsd 使用 json 重新创建您的 typings 文件夹)
- 告诉同事
tsd install
从 root 开始打字!
source: https://github.com/DefinitelyTyped/tsd#quick-start
如果类型定义文件 (.d.ts) 是内部的并且在任何中央 dts 存储库中不可用,例如 typings(正在替换 tsd),那么将它们添加到源代码管理是有意义的。
如果不是,规则是任何生成的或可检索的文件不应添加到源代码管理。
例如,可以使用 typings
工具检索类型定义文件 (.d.ts)。
如果您使用 NPM 管理依赖项和 build/delivery 管道,一个常见的做法是有一个 package.json
文件,您可以在其中添加依赖项和一些脚本。考虑以下 package.json
:
{
"version": "1.0.0",
"name": "iberodev",
"description": "iberodev sample",
"private": true,
"license": "UNLICENSED",
"devDependencies": {
"live-server": "^0.9.2"
},
"dependencies": {
"angular": "1.6.0",
"systemjs": "^0.19.28",
"typescript": "^1.8.10",
"typings": "^1.3.2"
},
"scripts": {
"postinstall": "typings install dt~jquery dt~angular dt~angular-animate dt~angular-material --global --save"
}
}
上面有一个对 typings
的依赖(以及其他)。还有一个带有命令 typings install dt~jquery dt~angular dt~angular-animate dt~angular-material --global --save
的安装后脚本
当开发人员克隆存储库然后执行命令 npm install
时,所有指定的依赖项都将被下载,之后用于下载本地文件夹 typings/
下的类型定义文件的 typings 命令将是已执行,因此没有必要将这些文件添加到源代码管理中,并且您的 .gitignore
应至少包含以下行:
**/typings/**
typings.json
使用 Visual Studio 代码。它建议导入类型定义并将它们下载到 /typings 文件夹中。
我需要签入此文件夹还是可以通过某种方式恢复它?
谢谢。
我发现签入 tsd.json 有助于设置新的开发人员,或者如果您需要在某处克隆存储库,甚至可以重新安装类型,因为如果您不这样做,tsd 将不知道要重新安装什么。
tsd init
(这会创建 tsd.json 文件)tsd install node --save
(如果没有,这将创建 typings 文件夹并将节点类型添加到 tsd.json)- 签入 tsd.json 文件并忽略 typings 文件夹(tsd 使用 json 重新创建您的 typings 文件夹)
- 告诉同事
tsd install
从 root 开始打字!
source: https://github.com/DefinitelyTyped/tsd#quick-start
如果类型定义文件 (.d.ts) 是内部的并且在任何中央 dts 存储库中不可用,例如 typings(正在替换 tsd),那么将它们添加到源代码管理是有意义的。
如果不是,规则是任何生成的或可检索的文件不应添加到源代码管理。
例如,可以使用 typings
工具检索类型定义文件 (.d.ts)。
如果您使用 NPM 管理依赖项和 build/delivery 管道,一个常见的做法是有一个 package.json
文件,您可以在其中添加依赖项和一些脚本。考虑以下 package.json
:
{
"version": "1.0.0",
"name": "iberodev",
"description": "iberodev sample",
"private": true,
"license": "UNLICENSED",
"devDependencies": {
"live-server": "^0.9.2"
},
"dependencies": {
"angular": "1.6.0",
"systemjs": "^0.19.28",
"typescript": "^1.8.10",
"typings": "^1.3.2"
},
"scripts": {
"postinstall": "typings install dt~jquery dt~angular dt~angular-animate dt~angular-material --global --save"
}
}
上面有一个对 typings
的依赖(以及其他)。还有一个带有命令 typings install dt~jquery dt~angular dt~angular-animate dt~angular-material --global --save
当开发人员克隆存储库然后执行命令 npm install
时,所有指定的依赖项都将被下载,之后用于下载本地文件夹 typings/
下的类型定义文件的 typings 命令将是已执行,因此没有必要将这些文件添加到源代码管理中,并且您的 .gitignore
应至少包含以下行:
**/typings/**
typings.json