【问题标题】:Typescript @Types usage and expectationsTypescript @Types 用法和期望
【发布时间】:2017-02-23 16:50:06
【问题描述】:

我正在尝试让 @types 在 Visual Studio Enterprise 2015 版本 3 的 ASP.NET 4 MVC 5 Web 应用程序中使用 npm 工作。要明确的是,这是一个中等规模的传统 ASP.NET MVC LOB 项目同时支持5-10K用户。它不是 ASP.NET Core 应用、单页应用,并且不使用 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 库,以及那些递归依赖的那些。

但是,我也有 205 错误说明,例如,

错误 TS2688 找不到“yauzl”的类型定义文件。 TypeScript 虚拟项目 1 个活动。

所以...我猜这些是 Visual Studio Build 中内置的 Typescript 构建过程引发的错误。这似乎是在说 VS Typescript 虚拟进程的构建过程知道这些依赖,而不是 @typed javascript 库,但它也认为这些 js 库应该提供正确的声明。

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 2016-12-29
      • 1970-01-01
      • 2018-07-11
      • 2017-07-13
      • 2017-02-06
      • 2019-06-09
      • 2017-08-13
      • 2017-01-13
      相关资源
      最近更新 更多