错误 TS2339:类型“Window & typeof globalThis”上不存在属性“customProperty”

问题描述 投票:0回答:1

我在尝试构建 Angular 库时遇到了

Error TS2339: Property 'customFunction' does not exist on type 'Window & typeof globalThis'.

我正在尝试在新生成的库中添加 .d.ts 文件,但在构建过程中仍然遇到问题。我在这里尝试了多个问题的解决方案,但仍然遇到了问题。

这是我的复制步骤:

首先我生成了新的工作区:

ng new test-workspace --create-application=false

然后,在工作区中,我生成一个新的 Angular 库

cd test-workspace

ng generate library lib-test

之后,我在lib-test/src/types下的lib-test中生成了一个目录。

然后,我创建了一个包含以下内容的文件 window.d.ts

declare global { 
    interface Window {
        customFunction: {
            startService: (arg: string) => void;
            endService: (arg: string) => void;
        }
    }
}

export {};

之后,我使用lib-test.service.ts中的自定义属性调用window

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class LibTestService {

  constructor() { 
    window.customFunction.startService("test");
  }
}

在 VSCode 上,没有任何错误

Property 'customFunction' does not exist on type 'Window & typeof globalThis'.
。但是在 ng build lib-test 过程中,我遇到了这个错误。 有人可以帮忙指出我是否缺少实现此 customFunction 的任何步骤吗?

angular typescript angular-cli typescript-typings
1个回答
0
投票

要修复编译错误,请将声明文件包含在您的

tsconfig.lib.json
中:

{
  "include": [
    "src/**/*.d.ts"
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.