安装 npm 包时自动安装类型定义

Posted

技术标签:

【中文标题】安装 npm 包时自动安装类型定义【英文标题】:Install type definitions automatically when I install an npm package 【发布时间】:2018-07-29 04:08:21 【问题描述】:

有没有办法配置npm,这样每当我安装一个包时,它就会:

    检查里面是否有类型定义 如果没有,请尝试使用 --save-dev 标志安装 @types/PACKAGE

理想情况下,我希望这会自动发生(作为插件或其他东西),而无需编写会限制 API 的 shell 脚本。例如,我可能会编写一个 shell 脚本,例如:(请注意,这并不能真正满足所有要求)

#!/bin/bash
npm install --save $1 && npm install --save-dev @types/$1

但这限制了我,因为也许我想--save-dev 两个包或想在命令中使用一些特殊标志。此外,它还创建了对 bash 的依赖,这是我想避免的。

或者,如果有一种方法可以制作一个不会以这种方式限制的 shellscript,那也可以。

另外,上面的例子实际上并没有检查包是否已经有类型定义(在这种情况下,我不想想从@types下载任何东西)。

【问题讨论】:

【参考方案1】:

我最终编写了一个 CLI 实用程序来执行此操作。在您选择的包管理器之上的薄层。

查看https://github.com/xavdid/typed-install

【讨论】:

【参考方案2】:

以下是一些有助于解决此问题的命令行实用程序

类型同步

为 package.json 中的依赖项安装缺少的 TypeScript 类型

github - 988 ⭐

npm - 14k/周

# installation
npm i -g typesync
# usage
npx typesync

键入安装

每次都轻松安装新包及其类型。

github - 87 ⭐

npm - 1k/周

# installation
npm i -g typed-install
# usage
typedi lodash

TS-类型

一个使用 npm 安装 TypeScript 定义文件的小工具

github - 25⭐

npm - 0.3k/周

# installation
npm i -g ts-typie
# usage
npx ts-typie

【讨论】:

以上是关于安装 npm 包时自动安装类型定义的主要内容,如果未能解决你的问题,请参考以下文章

npm 包的可安装 typescript 类型定义

如何在 TypeScript 2 项目中为 Firebase 3 安装类型?

在 npm 包中重新导出外部类型

添加nuget包时不会自动安装依赖项

安装 npm 包时 /src 是啥意思?

javascript 安装npm包时编译器错误