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 编译得很好。
这是我的项目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"
}
}
我想出了如何完成这项工作。基本上,您需要手动在 Typescript 文件的顶部添加一个引用,然后进行编译。希望这对某人有所帮助。
/// <reference path="../../typings/globals/winrt/index.d.ts" />
构建面向 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"
}
}
我想出了如何完成这项工作。基本上,您需要手动在 Typescript 文件的顶部添加一个引用,然后进行编译。希望这对某人有所帮助。
/// <reference path="../../typings/globals/winrt/index.d.ts" />