使用Visual Studio& amp;从打字输入到@types;打字稿2.0.3

时间:2016-09-23 12:55:25

标签: visual-studio-2015 typescript-typings typescript2.0

我尝试从我的网络项目(Visual Studio 2015社区)中删除打字并通过package.json中的新NPM @types(typescript 2.0.3)安装d.ts文件:

 "dependencies": {
    "@types/angular": "^1.5.8",
    "@types/angular-cookies": "^1.4.2",
    "@types/angular-local-storage": "^0.1.33",
    "@types/angular-material": "^1.1.37",
    "@types/angular-translate": "^2.4.33",
    "@types/lodash": "^4.14.36"
  }

Visual Studio的IntelliSense之前很适合打字,因为我在VS项目中包含了typings文件夹。 NPM将类型安装到node_modules/@types文件夹中。现在这是我的问题。我并不想在VS项目中包含node_modules中的任何内容。 node_modules文件夹应该可以被npm随意删除并重新创建。 如果没有将它们包含在项目中,Visual Studio将无法识别已安装的类型! 我想我可以创建一个带有///引用标签的文件,但是在安装/删除类型时我必须手动维护这个文件。

是否有推荐的方法使VS IntelliSense正常工作?

3 个答案:

答案 0 :(得分:12)

在切换到2.0并使用新的@types约定后,我正在努力解决同样的问题。

我在这里查看了tsconfig.json的规范后发现了这个有用的属性:http://json.schemastore.org/tsconfig

compilerOptions的“typeRoots”属性。

我无法获取文件或包含数组来提取我的打字,但这似乎对我有用。

以我的tsconfig.json文件为例:

{
  "compileOnSave": true,
  "compilerOptions": {
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es5",
    "jsx": "react",
    "typeRoots": [
      "node_modules/@types"
    ]
  }
}

希望这可以帮助有同样问题的人。

答案 1 :(得分:2)

安装VS 2015 Update 3,然后安装TypeScript 2.0.3工具。

答案 2 :(得分:1)

以下是在Visual Studio 2015中使用@types的一个示例(自Update 3起)...

首先,请确保使用TypeScript v2.0.3或更高版本。

然后,按如下方式添加输入:

  "devDependencies": {
    "typescript": "^2.0.3",

    "@types/jquery": "*",
    "@types/lodash": "^4.14.36"
  }

然后,在您的TypeScript文件中,只需添加以下内容......

/// <reference path="jquery.d.ts"/>
/// <reference path="jquery.lodash.d.ts" />

要查看某个库类型是否可用,请查看由Type Search提供支持的Definitely Typed

参考文献: