Visual Studio находит определения typescript systemjs, но не может найти их при компиляции

У меня есть проект TypeScript в Visual Studio с модулями, установленными через systemjs. У меня есть следующий код:

app.ts

import { Aurelia } from 'aurelia-framework';

Например, при наведении на Aurelia и нажатии F12 (Перейти к определению) открывается правильный файл aurelia-framework.d.ts, установленный systemjs. Однако, когда я нажимаю Build, я получаю следующий вывод:

error TS2307: Build: Cannot find module 'aurelia-router'.

Вот мой tsconfig для справки.

tsconfig.json

{
  "version": "1.8.0",
  "compilerOptions": {
    "rootDir": "src/",
    "outDir": "dist/",
    "target": "es5",
    "module": "system",
    "declaration": false,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  }
}

person Matthew James Davis    schedule 16.02.2016    source источник
comment
Аурелия просто отказывается хорошо играть с Typescript в VS2015, не так ли? Я могу запустить скелеты ES2015, но компилятор TS отказывается даже запускать мои проекты, несмотря на то, что они отлично компилируются через gulp.   -  person Rich Bryant    schedule 03.01.2017
comment
Конечно, с .NET Core все может быть по-другому, но давайте будем реалистами — многие веб-хосты не поддерживают Core, существует множество проектов MVC1-5, которым потребуется подключить современный JS-фреймворк... огромная боль.   -  person Rich Bryant    schedule 03.01.2017


Ответы (1)


Похоже, ответ заключается в том, чтобы добавить файл — я называю мой typings.d.ts — в корень вашего приложения aurelia — /src или как вы его назвали — с одной /// ссылкой на index.d. ts в папке с типизированным текстом.

Тогда все играет хорошо.

person Rich Bryant    schedule 31.03.2017