我试图让@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功能集增长。
但也许这很简单,我只需要一些帮助!
答案 0 :(得分:1)
您的tsconfig.json
文件(位于解决方案的根目录)应该有typeRoots
条目以自动介绍这些文件:
{
"compileOnSave": true,
"compilerOptions": {
// ...
"typeRoots": [
"./node_modules/@types/"
]
},
"exclude": [
//...
]
}