我得到了
TypeError: (intermediate value).ngOnDestroy is not a function at ServerStylesHost.ngOnDestroy
当向我的 Angular 15 应用程序添加 ssr 支持时。
应用程序在正常服务时可以工作,但在使用 ssr 时可以工作
npm run dev:ssr
或
npm run build:ssr && npm run serve:ssr
抛出该错误
有人已经遇到过这个问题吗?
无法发现问题
使其工作的一种方法是注释掉 dist/YOUR_APP_NAME/server/vendor.js 中的 ngOnDestroy() 方法中的 3 行代码,然后使用 npm runserve:ssr
再次运行ngOnDestroy() {
// this._styleNodes.forEach(styleNode => styleNode.remove());
// this._styleNodes.clear();
// super.ngOnDestroy();
}
使用SSR部署时出现同样的问题,当时从main.js文件中删除以下代码并部署它。
ngOnDestroy(){this._styleNodes.forEach(styleNode => styleNode.remove());this._styleNodes.clear();super.ngOnDestroy();}
我在 Angular 15 中遇到了同样的问题,升级到 Angular 16 后问题得到解决。