node.js - Hur man åtgärdar: Typ 'Window' kan inte tilldelas typen 'typeof globalThis'


Jag försöker ett Angular-projekt från GitHub. Jag använder Node version 12, Angular CLI 9, och uppdaterade package.json.

https://github.com/chat21/chat21-web-widget Från dessa två filer får jag ett fel vid byggandet. https://github.com/chat21/chat21-web-widget/blob/master/src/app/providers/translator.service.ts https://github.com/chat21/chat21-web-widget/blob/master/src/app/utils/globals.ts Rad 31

let windowContext = window;
if (window.frameElement && window.frameElement.getAttribute('tiledesk_context') === 'parent') {
  windowContext = window.parent;
}

Feltyp: 'Window' kan inte tilldelas typen 'typeof globalThis'.

windowContext=window.parent;

Jag tror att detta är ett problem relaterat till TypeScript, men jag är inte bekant med det.

Svar #1

Ja, detta fel är förväntat. När du skapade variabeln windowContext angav du ingen typ, så TypeScript drog slutsatsen att windowContext är av typen "Window & typeof globalThis".

Sedan försökte du tilldela variabeln igen, men du tilldelade den med en annan typ. window.parent är av typen "Window". Så typerna matchar inte.

du kan prova detta

    let windowContext: any = window;
     if (window.frameElement && 
      window.frameElement.getAttribute('tiledesk_context') === 'parent') {
       windowContext = window.parent;
     }

Relaterade artiklar