【发布时间】:2019-09-11 22:45:14
【问题描述】:
我相当大的 Angular Universal 应用程序需要使用本地存储和窗口对象。 Node.js 不使用这些对象,我得到一个引用错误,即 window 或 localstorage is not defined。
我知道我可以使用 IsPlatformBrowser 模块,但我必须在整个应用程序(几百个地方)和未来使用中添加条件状态。
有没有什么我可以写的东西在节点服务器或客户端上覆盖整个项目?
【问题讨论】:
-
您可以将本地存储包装在一个检查
IsPlatformBrowser的函数中 -
喜欢服务?您是说用服务中的函数替换所有本地存储、窗口对象吗?
-
是的,将它们作为函数包装在服务中,并在函数中添加
IsPlatformBrowser -
万能不能执行任何有
window或localstorage的代码,否则会报错 -
你可能需要重构,或者你可以在github上使用一些有角度的本地存储库
标签: node.js angular angular-universal