0

Windows 10 UWP を対象とする Ionic 2 アプリケーションの構築。コード全体で、次のように winrt API に直接アクセスします。

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

tsc でのコンパイルは機能しますが、ngc でアプリケーションをコンパイルすると、エラーがスローされますCannot find namespace 'Windows'

明らかに、Angular AOT は winrt 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"
  }
}
4

1 に答える 1