【问题标题】:How can I install TypeScript declarations for scoped/namespaced packages via @types?如何通过@types 为作用域/命名空间包安装 TypeScript 声明?
【发布时间】:2018-04-28 01:08:56
【问题描述】:

我正在使用 TypeScript,并且我想使用不提供自己的类型声明的范围包(例如 @foo/bar@babel/core 等)。

我试过运行类似的东西

npm install @types/@foo/bar

但它似乎不可用。

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

【问题讨论】:

    标签: node.js typescript npm types definitelytyped


    【解决方案1】:

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

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

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

    举个例子,如果你想为包@foo/bar安装类型声明,你需要运行

    npm install @types/foo__bar
    

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

    是的!来自Definitely Typed README.md

    作用域包@foo/bar 的类型应该放在types/foo__bar 中。注意双下划线。

    【讨论】:

    • 有没有办法编写我自己的作用域包outside如果我需要,肯定是Typed 的? --DefinitelyTyped 太慢了,无法接受拉取请求...
    • 我喜欢这个答案,但作为一个挑剔的人,也许应该注意两个下划线不是“代替@” - 它不是@types/__foo/bar。这两个下划线替换了@/。换句话说,@删除/__ 替换:@scope/package => scope__package
    猜你喜欢
    • 2019-02-05
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2016-11-20
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多