You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a Component A (Standalone), in which I import Component B.
Component A does not invoke Component B in its template.
Component B imports the LeafletModule and does nothing else.
Both components only contain imports without any additional code, checks, or templates.
Despite only having the imports, I constantly receive this error: "window is not defined". I cannot catch or bypass this error since it occurs during the import itself. All previous methods to work around this issue are no longer viable. There must be a mechanism within this module itself that checks if "window" is available or not. If "window" is usable or if the module detects that it is running in a browser and not on a server, then the module should proceed with the initialization.
I do not believe that as developers we can continue to handle this error ourselves in Angular. The provider of the module must intervene and address this issue.
The text was updated successfully, but these errors were encountered:
keved93
changed the title
Angular 18 - Standalone Components - SSR - window is not defined
Angular 18 - Standalone Components - SSR - window is not defined - only imports
Jul 11, 2024
In ngx-leaflet, the only reference to the window object is in a HostListener annotation.
Where does the stack trace show the error coming from? Is it in Leaflet.js itself, or ngx-leaflet? If it's coming out of Leaflet.js, I'll have to look into where it's coming from and if we can't prevent that code from getting imported or monkey patch it or something.
In the meantime, this can be rectified by surrounding the component that imports the LeafletModule in a @defer block. This should ensure it only renders on a client. (tested using standalone components)
I have a Component A (Standalone), in which I import Component B.
Component A does not invoke Component B in its template.
Component B imports the LeafletModule and does nothing else.
Both components only contain imports without any additional code, checks, or templates.
Despite only having the imports, I constantly receive this error: "window is not defined". I cannot catch or bypass this error since it occurs during the import itself. All previous methods to work around this issue are no longer viable. There must be a mechanism within this module itself that checks if "window" is available or not. If "window" is usable or if the module detects that it is running in a browser and not on a server, then the module should proceed with the initialization.
I do not believe that as developers we can continue to handle this error ourselves in Angular. The provider of the module must intervene and address this issue.
The text was updated successfully, but these errors were encountered: