Работает ли компилятор Angular 2 (ngc) с файлами определений Typescript?
Создание приложения Ionic 2 для Windows 10 UWP. Во всем моем коде я получаю прямой доступ к WinRt API, как это
var localStorage = Windows.Storage.ApplicationData.current.localStorage;
Компиляция с помощью tsc работает, но когда я компилирую приложение с помощью ngc, он выдает ошибку Cannot find namespace 'Windows'
Очевидно, что Angular AOT ничего не знает о WinIt Api, потому что он не работает в контексте UWP, но я подумал, что именно для этого нужны файлы определений Typescript.
Но как мне обойти эту проблему? Я подумал, что, возможно, включение файла определения Typescript решит эту проблему, но Typescript компилируется нормально.
Вот мои проекты typings.json файл
{
"dependencies": {},
"devDependencies": {},
"globalDependencies": {
"winrt": "registry:dt/winrt#0.0.0+20160622234326",
"angular-protractor": "registry:dt/angular-protractor#1.5.0+20160425143459",
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node#6.0.0+20160831021119",
"selenium-webdriver": "registry:dt/selenium-webdriver#2.44.0+20160317120654"
}
}
1 ответ
Я понял, как заставить это работать. По сути, вам нужно вручную добавить ссылку в начало вашего файла Typescript, а затем скомпилировать. Надеюсь, это кому-нибудь поможет.
/// <reference path="../../typings/globals/winrt/index.d.ts" />