我尝试从我的网络项目(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正常工作?
答案 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。
参考文献: