Node.js 如何通过@types为作用域/名称空间包安装TypeScript声明?

Node.js 如何通过@types为作用域/名称空间包安装TypeScript声明?,node.js,typescript,npm,types,definitelytyped,Node.js,Typescript,Npm,Types,Definitelytyped,我使用的是TypeScript,我想使用一个范围有限的包(例如,@foo/bar,@babel/core,等等),它不提供自己的类型声明 我试着做一些类似的事情 npm install @types/@foo/bar 但它似乎不可用 有没有办法将这些包的.d.ts放入@types范围?如果需要,有没有办法在DefinitelyTyped上编写我自己的作用域包 有没有办法将这些包的.d.ts放入@types范围 是的,有办法!只是有点不直观 npm不允许作用域包在其名称中包含@,因此这些名称被篡

我使用的是TypeScript,我想使用一个范围有限的包(例如,
@foo/bar
@babel/core
,等等),它不提供自己的类型声明

我试着做一些类似的事情

npm install @types/@foo/bar
但它似乎不可用


有没有办法将这些包的
.d.ts
放入
@types
范围?如果需要,有没有办法在DefinitelyTyped上编写我自己的作用域包

有没有办法将这些包的
.d.ts
放入
@types
范围

是的,有办法!只是有点不直观

npm不允许作用域包在其名称中包含
@
,因此这些名称被篡改为使用两个下划线代替
@

例如,如果要为包
@foo/bar
安装类型声明,则需要运行

npm install @types/foo__bar


如果需要,有没有办法在DefinitelyTyped上编写我自己的作用域包

对!!从:

作用域包的类型
@foo/bar
应进入
Types/foo\u bar
。请注意双下划线


如果需要,有没有办法在DefinitelyTyped之外编写我自己的作用域包?--DefinitelyTyped接受pull请求的速度太慢了……我喜欢这个答案,但作为一个吹毛求疵的问题,也许应该注意的是,这两个下划线并没有“代替@”-它不是
@types/\uu foo/bar
。这两个下划线替换了
@
/
。换言之,删除
@
,并将
/
替换为
\uuuu
@scope/package
=>
scope\uu package