2017-02-23 50 views
0

Я пытаюсь заставить @types работать с использованием npm в веб-приложении ASP.NET 4 MVC 5 в Visual Studio Enterprise 2015, версия 3. Чтобы быть понятным, это обычный ASP среднего размера Проект MVC LOB, предназначенный для одновременного поддержки пользователей 5-10K. Это не приложение ASP.NET Core, одностраничное приложение и не использует угловые, gulp, webpack или node.js.Использование и ожидаемое использование Typcript @Types

Вот зависимость в моем 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 d.ts файлы в его @types подпапки. И он включает все библиотеки js, упомянутые специально в списке @types. Он также включает в себя все библиотеки js, от которых зависят все перечисленные типы @types, и те, которые зависят от них, рекурсивно.

Но, у меня есть 205 ошибок с указанием, например,

TS2688 Ошибка Не удается найти файл определения типа для «yauzl». Виртуальные проекты TypeScript 1 Active.

Итак ... Я предполагаю, что это ошибки, вызванные процессом сборки Typcript, встроенным в Visual Studio Build. И это, по-видимому, говорит о том, что процесс сборки виртуального процесса VS-скриптов знает об этих зависимых, а не @typed javascript-библиотеках, но также полагает, что эти js-библиотеки должны предоставлять соответствующие декларации.

Это делает меня подозрительным в отношении совместимости между ASP.NET 4 MVC 5 и его инструментами VirtualWorkType для виртуализации и текущей функцией набора элементов.

Но, возможно, это легко, и мне просто нужна помощь!

ответ

1

Вашего tsconfig.json файл (находится в корне решения) должен иметь typeRoots записи, чтобы ввести эти файлы автоматически:

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

определенно ответ! благодаря –