26

我不得不问,因为这让我疯狂。我看到了在Google上安装打字的npm方式,但Angular2's tutorial有一个添加了typings.json文件,然后添加了打字文件夹并从DefinitelyTyped自动下载了d.ts文件。我试过这与jQuery,但它没有下载。我也尝试重建项目,我期望package.json包含命令来添加额外的类型。如何在Visual Studio 2015中为Typescript添加typings.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和茉莉花下载。

{ "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以检索编译时的类型,或者我做错了什么?

Here's another example向typings.json文件添加一行,然后为您安装d.ts文件。向下滚动,直到你看到手册分型

回答

37
  1. 请确保您有npm安装
  2. 打开你选择的控制台(如命令提示符或PowerShell中)
  3. 导航到项目文件夹

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

  1. npm install --save @types/jquery

    完成:有关更多信息,请参阅this

使用typings(第2节之前打字稿):

  • 请确保您有安装typings,如果没有运行npm install typings --global
  • typings install dt~jquery --save --global

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

    在上面的类型示例中,'dt〜'表示它应该在DefinitelyTyped存储库中查找jquery,缺省值是'npm'。语法从版本0.x稍微改变为1.0,标记--global之前为--ambient

  • +0

    这是一个很好的答案,但我试图找出如何'“安装后”:“分型安装”'的'package.json'文件需要'分型。 json“条目格式化,以便它与本手动过程具有相同的功能。 –

    +0

    假设package.json中的''postinstall':'typings install''与上面的'npm install typings'相同,npm是否使用'typings.json'来确定要得到什么?另外,如果你第二次运行'npm install typings',它是否保持最新?也许我们只需要添加一些命令到'postinstall'? –

    +0

    typings安装jquery不工作: – 2016-06-03 04:11:10

    4

    我发现一旦创建typings.json文件,打开并重新保存package.json会触发类型下拉。这是我目前分型文件:

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

    我试过这个,但是它不会运行'typings install'这是拉下文件的东西。 –

    +0

    如果你看这里:https://angular.io/docs/ts/latest/guide/typescript-configuration.html#!#typings 你可以看到,你还需要添加 脚本: { “postinstall”:“typings install” }' to your package.json' –

    相关问题