使用 Angular 4.0.0 在 angular-cli 中运行 ng test 会出现如下错误:
Cannot find name 'alert'
Cannot find name 'confirm'
Cannot find name 'Event'
Angular 2 没有发生这种情况。看起来这里缺少一些东西,但它是什么?
ng 服务和构建工作正常。
使用 Angular 4.0.0 在 angular-cli 中运行 ng test 会出现如下错误:
Cannot find name 'alert'
Cannot find name 'confirm'
Cannot find name 'Event'
Angular 2 没有发生这种情况。看起来这里缺少一些东西,但它是什么?
ng 服务和构建工作正常。
在我的情况下,这是通过在 tsconfig"dom
的数组中添加 " 来解决的"lib"
。我有一个用于正常构建应用程序的 tsconfig.app.json 和一个仅用于单元测试的 tsconfig.spec.json。后一个失踪了"dom"
。
{
"compilerOptions": {
...
"lib": [
"es2016",
"dom"
],
...
}
我可以通过根据最新的 cli文档更改typings.d.ts来解决这个问题。
src/typings.d.ts:
老的:
/* SystemJS module definition */
declare var module: {
id: string;
};
新的:
/* SystemJS module definition */
declare var module: NodeModule;
interface NodeModule {
id: string;
}
为了解决这个问题,我使用最新的 @angular/cli 生成了一个新项目,然后将我的所有 tsconfg 文件比较并更新为当前格式。