我最近从头开始构建了一个项目:Angular 18 应用程序(SSR)。该项目包括从另一个更多实现项目导入的一些库(复制粘贴package.json)。
我设置了我的应用程序(在 server.ts 中),然后执行
ng build
最后一个
nodemon dist/<projectname>/server/server.mjs
在本地主机上渲染应用程序。 每次我尝试渲染 server.mjs 时,我的应用程序都会崩溃,结果如下:
TypeError: Cannot convert undefined or null to object
at Function.getPrototypeOf (<anonymous>)
at file:///C:../server/server.mjs:107:202540
at file:///C:../server/chunk-GUTDEJWW.mjs:2:1056
at ...
我发现问题来自以下代码行:
const mongoose = require('mongoose');
节点版本:20.12.2
猫鼬版本8.4.4
我尝试将 mongoose 恢复到 6.8.4(作为我的旧项目),但问题仍然存在。
如果有人知道为什么 mongoose 8 与我的 Angular 18 不兼容或者知道什么,我想听听。
我找到了一个(临时)解决方案。 我再次从 6.4.2 mongoose 降级到 5.13.22,它解决了我的问题。 如果需要的话命令:
npm uninstall mongoose --save
npm install mongoose@5 --save