当一个Angular应用程序使用Angular Universal进行服务器端渲染时,会出现localStorage is not defined
错误。
出现这个错误的原因:
因为Universal应用不在浏览器中执行,所以服务器上可能会缺少一些浏览器的API和功能。
例如,服务器端应用程序不能引用只属于浏览器的全局对象,如alert, window, document, navigator, location等等
解决办法:
npm install localstorage-polyfill
现在打开server.ts文件,并在其中添加代码。
import 'localstorage-polyfill';
global['localStorage'] = localStorage;
再次启动即可解决问题