2016-10-07 1 views
0

Construction d'une application Ionic 2 qui cible Windows 10 UWP. Tout au long de mon code, j'accéder à l'API de WinRT directement, comme celui-ciLe compilateur Angular 2 (ngc) fonctionne-t-il avec les fichiers de définition Typescript?

var localStorage = Windows.Storage.ApplicationData.current.localStorage;

Compiler avec des œuvres de tsc, mais quand je compilez l'application avec le MBAC, il renvoie une erreur Cannot find namespace 'Windows'

De toute évidence, angulaire AOT ne connaîtrait rien de l'Api winrt parce qu'il ne fonctionne pas dans le contexte d'un UWP, mais je pensais que c'était à cela que servaient les fichiers de définition de Typescript.

Mais comment contourner ce problème? Je pensais que peut-être y compris le fichier de définition de Typescript aurait résolu cela, mais Typescript compile bien.

Voilà mes projets typings.json fichier

{ 
    "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" 
    } 
} 

Répondre

1

je me suis dit comment faire ce travail. Fondamentalement, vous devez manuellement ajouter une référence en haut de votre fichier Typescript, puis compiler. J'espère que cela aide quelqu'un.

/// <reference path="../../typings/globals/winrt/index.d.ts" />