0

使用 Angular 4.0.0 在 angular-cli 中运行 ng test 会出现如下错误:

Cannot find name 'alert'
Cannot find name 'confirm'
Cannot find name 'Event'

Angular 2 没有发生这种情况。看起来这里缺少一些东西,但它是什么?

ng 服务和构建工作正常。

4

3 回答 3

2

在我的情况下,这是通过在 tsconfig"dom的数组中添加 " 来解决的"lib"。我有一个用于正常构建应用程序的 tsconfig.app.json 和一个仅用于单元测试的 tsconfig.spec.json。后一个失踪了"dom"

{
  "compilerOptions": {
     ...
    "lib": [
      "es2016",
      "dom"
    ],
    ...
}
于 2017-06-28T00:36:56.957 回答
0

我可以通过根据最新的 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;
}
于 2017-05-02T18:03:28.350 回答
-1

为了解决这个问题,我使用最新的 @angular/cli 生成了一个新项目,然后将我的所有 tsconfg 文件比较并更新为当前格式。

于 2017-03-28T17:56:13.847 回答