繁体   English   中英

Angular 2编译器(ngc)是否可以与Typescript定义文件一起使用?

[英]Does the Angular 2 compiler (ngc) work with Typescript definition files?

构建针对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可以很好地编译。

这是我的项目Types.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"
  }
}

我想出了如何使这项工作。 基本上,您需要手动在Typescript文件的顶部添加引用,然后进行编译。 希望这对某人有帮助。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM