30

我不得不问,因为这让我发疯。我在 Google 上看到了安装类型的 npm 方式,但是Angular2 的教程有一个添加一个 typings.json 文件,然后它添加了类型文件夹并自动从 DefinitiveTyped 下载了 d.ts 文件。我用jquery试过这个,但它没有下载。我还尝试重建项目,我希望 package.json 包含添加额外类型的命令。

这是我的 package.json 文件中的脚本:

"scripts": {
  "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
  "tsc": "tsc",
  "tsc:w": "tsc -w",
  "lite": "lite-server",
  "typings": "typings",
  "postinstall": "typings install"
}

这是我尝试过的 typings.json 文件。es6-shim 和 jasmine 已下载。

{  "ambientDependencies": {
   "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
}}

这可能很简单,比如在主题标签之后没有看起来像是校验和的东西。我在哪里可以找到正确的校验和,或者我需要添加什么命令到 package.json 以在编译时检索类型,或者我做错了什么?

这是另一个在 typings.json 文件中添加一行的示例,然后它会为您安装 d.ts 文件。向下滚动直到看到手动输入

4

2 回答 2

39
  1. 确保您已安装npm
  2. 打开您选择的控制台(例如命令提示符或 powershell)
  3. 导航到您的项目文件夹

仅使用 npm(TypeScript 2 及更高版本):

  1. npm install --save @types/jquery

    完成:有关更多信息,请参阅内容。

使用类型(v.2 之前的Typescript):

  1. 如果没有运行,请确保您安装了类型npm install typings --global
  2. typings install dt~jquery --save --global

    这应该会更新您的 typings.json 文件并下载定义文件。

    在上面的打字示例中,'dt~' 表示它应该在DefinitelyTyped存储库中查找jquery,默认为'npm'。语法从 0.x 版到 1.0 版略有变化,标志--global以前是--ambient.

于 2016-04-14T23:20:23.610 回答
4

我发现,一旦创建了 typings.json 文件,打开并重新保存 package.json 就会触发 Typings 下拉。这是我当前的打字文件:

{
    "ambientDependencies": {
        "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
        "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
  }
}
于 2016-05-01T19:10:15.047 回答