我的新Angular CLI项目存在问题(下面的版本信息) . 似乎窗口对象的扩展在新版本中不再起作用 .
ng --version angular-cli:1.0.0-beta.17 node:6.9.1 os:win32 x64 windows 10
我有一个看起来像这样的myAPI.js文件......
var myAPI = myAPI || {};
(function(myAPI) {
...
...
}(myAPI));
window.myAPI = myAPI;
我有一个myAPI.d.ts文件,其中定义了此接口(没有别的) .
interface Window {
myAPI: any;
}
在我的Typescript代码中,我曾经能够编写window.myAPI.XXX,它可以正常工作,我最近更新到上面的版本,它不再工作了 .
错误消息是window.myAPI未定义 .
这是以前工作的版本中的ng --version细节 .
angular-cli:1.0.0-beta.10节点:6.3.0 os:win32 x64
有什么改变可以阻止这种事情在1.0.0-beta.10和1.0.0-beta.17之间工作吗?
1 回答
问题是:
由于新版本引入了模块化,因此不会引导具有其中定义的接口的“myAPI.d.ts”文件 .
为了解决这个问题,需要将接口定义添加到随后在“app.module.ts”中导入和声明的模块,组件或服务中 .
一旦这个到位,它按预期工作 .