使用typings d.ts manager:如何指定使用哪个源以及原因

时间:2016-04-02 20:35:49

标签: typescript tsd

在打字时,读取文档后的新的tsd管理器用于打字稿定义我对于不同来源的含义以及如何通过指定源和版本来安装感到困惑

如果您按

搜索基础网站的示例
typings search foundation-sites

结果是

 foundation-sites global             2016-02-11T00:39:58.000Z 1
 foundation-sites dt                 2016-03-17T12:06:54.000Z 1        http://foundation.zurb.com/

此命令typings install foundation-sites --save失败。

然后我添加了环境标志并且它有效,但是根据我的研究,全局和dt都被认为是环境因素,尽管我仍然不完全理解环境在环境中的环境意味着什么,也是环境的全局环境。请参阅更详细地描述source的页面。此页面列出了我们已经了解的dt中的3个环境

  

用于共享环境功能的lib(环境)

     

编程环境类型(环境)的环境

     

全球图书馆全球(环境)

上述差异是什么意思

如果你有多个来源,如上面的搜索结果,只使用-ambient没有指定来源

1)哪一个安装了,为什么?来自全球的日期或之后的日期。

是否可以提供正确的安装命令来选择源和版本。请包含非环境回购的示例,例如github与环境回购的对象,例如global和dt

2)全局和dt源都需要--ambient标志吗?

3)如果打字输入位于打字注册表的npm文件夹中,它们只会自动安装。

示例,我可以使用typings install moment安装时刻,它可以正常工作。从我可以告诉它的工作原理,因为它列在打字机注册表的npm文件夹中。

按照Corey typings install dt!foundation-sites

的建议运行命令
  

导致错误bash:!foundation-sites:找不到事件

     

修复:感谢Corey - 对于bash用户,使用\ example

进行转义
typings install dt\!foundation-sites

1 个答案:

答案 0 :(得分:6)

我认为环境意味着它来自DefinitelyTyped:

  

[ambient]在查找

中包含DefinitelyTyped

打字文件进一步指出:

  

您可能想知道从使用TSD到现在的样子   分型。使用Typings与使用TSD非常相似。你在哪里   以前会有:

     

tsd install react --save你现在可以:

     

typings install react --ambient --save

我相信DefinitelyTyped只会有任何定义的版本,因为它不支持版本控制。您需要使用以下命令指定所需的:

typings install (with no arguments, in package directory)
typings install [<name>=]<location>

  <name>      Module name of the installed definition
  <location>  The location to read from (described below)

Valid Locations:
  [<source>!]<pkg>[@<version>][#<tag>]
  file:<path>
  github:<org>/<repo>[/<path>][#<commitish>]
  bitbucket:<org>/<repo>[/<path>][#<commitish>]
  npm:<pkg>[/<path>]
  bower:<pkg>[/<path>]
  http(s)://<host>/<path>

  <source>    The registry mirror (E.g. "npm", "bower", "env", "global", "dt", ...)
  <path>      Path to a `.d.ts` file or `typings.json`
  <host>      A domain name (with optional port)
  <version>   A semver range (E.g. ">=4.0")
  <tag>       The specific tag of a registry entry
  <commitish> A git commit, tag or branch

Options:
  [--save|-S]       Persist to "dependencies"
  [--save-dev|-D]   Persist to "devDependencies"
  [--save-peer|-P]  Persist to "peerDependencies"
  [--ambient|-A]    Install and persist as an ambient definition
    [-SA]           Persist to "ambientDependencies"
    [-DA]           Persist to "ambientDevDependencies"
  [--production]    Install only production dependencies (omits dev dependencies)

Aliases: i, in

例如,

>typings install dt!foundation-sites
typings INFO reference Stripped reference "https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/jquery/jquery.d.ts" during installation from "foundation-sites"
foundation-sites
└── (No dependencies)

然后我在typings / browser / definitions / foudation-sites中找到了dt版本。

所以问题的答案是:

1)哪一个安装了,为什么?来自全球的日期或之后的日期。

您也必须指定来源

2)全局和dt源都需要--ambient标志吗?

不,-ambient将&#34;安装并保留为环境定义&#34;

3)只有在打字注册表中的npm文件夹中,才会自动安装。

我认为安装是&#34;自动&#34;只有没有含糊之处。