当我将
import { AngularFireFunctions } from '@angular/fire/compat/functions';
添加到组件时,在该组件加载的第二个时间,整个前端崩溃并出现以下错误。我删除了该导入,一切都恢复顺利。
[vite] Error when evaluating SSR module [...] .angular/cache/18.1.3/vite/deps_ssr/@angular_fire_compat_functions.js
TypeError: Class extends value undefined is not a constructor or null
at node_modules/@firebase/functions/node_modules/undici/lib/fetch/file.js
我见过删除 SSR 的解决方案,但我不想这样做,并且根据 此页面,
@angular/fire
与 SSR 渲染兼容。
在
angular.json
我有
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
...
"polyfills": ["@angular/localize/init", "zone.js"],
...
"scripts": [],
"server": "src/main.server.ts",
"prerender": true,
"ssr": {
"entry": "server.ts"
}
在
package.json
,我有
"@angular/ssr": "^18.1.3",
"@angular/fire": "^18.0.1",
我使用的是 Angular 18.1.2 和 Node.js v20.11.0。任何帮助将不胜感激。
正如 @SandeepVokkareni 所建议的,将节点升级到最新版本(
v22.6.0
)确实为我解决了这个问题,但只有在删除 node-modules
文件夹、package-lock.json
文件并使用 npm -i --legacy-peer-deps --save
重新安装所有软件包之后。我想知道删除文件夹并重新安装软件包而不升级节点版本是否可以解决问题。