打字稿@Types用法和期望

时间:2017-02-23 07:53:06

标签: asp.net-mvc visual-studio typescript

我试图让@types在Visual Studio Enterprise 2015第3版的ASP.NET 4 MVC 5 Web应用程序中使用npm工作。要清楚这是一个中型,传统的ASP.NET MVC LOB项目意味着同时支持5-10K用户。它不是ASP.NET核心应用程序,单页面应用程序,并且不使用angular,gulp,webpack或node.js.

以下是package.json中的依赖项:

```
    "devDependencies": {
    "@types/chai": ">=3.4.0",
    "@types/chai-as-promised": ">=0.0.29",
    "@types/mocha": ">=2.2.0",
    "@types/mocha-phantomjs": ">=3.4.0",
    "@types/sinon": ">=1.0.0",
    "@types/sinon-chai": ">=2.7.0"
    },
    "dependencies": {
    "@types/jquery": ">=2.0.4",
    "jquery": ">=2.0.4",
    "phantomjs": ">=2.1.7"
    }
``` 

node_modules文件夹包含其@types子文件夹中的所有@types d.ts文件。它包括@types列表中具体提到的所有js库。它还包括所有列出的@types所依赖的所有js库,以及那些依赖它们的js库。

但是,我也有205个错误,例如,

错误TS2688无法找到' yauzl'的类型定义文件。 TypeScript虚拟项目1活动。

所以......我猜这些是Visual Studio Build内置的Typescript构建过程抛出的错误。这似乎是说VS Modelscript虚拟过程的构建过程知道这些依赖的,而不是@typed javascript库,但它也相信这些js库应该提供适当的声明。

这让我怀疑ASP.NET 4 MVC 5与其Typescript虚拟解决方案工具之间的兼容性以及正在进行的Typescript功能集增长。

但也许这很简单,我只需要一些帮助!

1 个答案:

答案 0 :(得分:1)

您的tsconfig.json文件(位于解决方案的根目录)应该有typeRoots条目以自动介绍这些文件:

{
    "compileOnSave": true,
    "compilerOptions": {
        // ...  
        "typeRoots": [
            "./node_modules/@types/"
        ]
    },
    "exclude": [
      //...
    ]
}