NestJs Angular Universal不工作-启用脱机持久性时出错

NestJs Angular Universal不工作-启用脱机持久性时出错,angular,firebase,google-cloud-firestore,nestjs,angular-universal,Angular,Firebase,Google Cloud Firestore,Nestjs,Angular Universal,我在使用angularfire和AngularUniversal的最新版本时遇到了这个错误 ng发球 正常发球没问题 ng add@nestjs/ng universal 添加了通用,似乎安装得很好 npm运行构建:ssr 似乎要编译,有些警告,但没有错误 npm运行服务:ssr 在我将页面加载到localhost上之前似乎一直正常工作,但出现以下错误: 启用脱机持久性时出错。返回到禁用持久性:错误:enoint:没有这样的文件或目录,请打开'C:\angular projects\testPr

我在使用angularfire和AngularUniversal的最新版本时遇到了这个错误

ng发球

正常发球没问题

ng add@nestjs/ng universal

添加了通用,似乎安装得很好

npm运行构建:ssr

似乎要编译,有些警告,但没有错误

npm运行服务:ssr

在我将页面加载到localhost上之前似乎一直正常工作,但出现以下错误:

启用脱机持久性时出错。返回到禁用持久性:错误:enoint:没有这样的文件或目录,请打开'C:\angular projects\testProject\dist\testProject\server\src\protos\google\firestore\v1\firestore.proto'

---------更新-----------

我删除了dist文件夹并重新生成,现在我只收到以下错误:

错误:enoint:没有这样的文件或目录,请打开“google/protobuf/api.proto”

以下是全部错误:

PS C:\angular projects\testapp.io> npm run serve:ssr

> testapp@0.0.0 serve:ssr C:\angular projects\testapp.io
> node dist/testapp/server/main.js

C:\angular projects\testapp.io\dist\testapp\server\main.js:1
!function(e,a){for(var i in a)e[i]=a[i]}(exports,function(modules){var installedModules={},installedChunks={1:0};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}return __webpack_require__.e=function requireEnsure(chunkId){if(0!==installedChunks[chunkId]){var chunk=require("./"+({0:"firebase-functions",2:"vendors~firebase-auth",3:"vendors~firebase-functions"}[chunkId]||chunkId)+".js"),moreModules=chunk.modules,chunkIds=chunk.ids;for(var moduleId in moreModules)modules[moduleId]=moreModules[moduleId];for(var i=0;i<chunkIds.length;i++)installedChunks[chunkIds[i]]=0}return Promise.all([])},__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){

Error: ENOENT: no such file or directory, open 'google/protobuf/api.proto'
    at Object.openSync (fs.js:443:3)
    at Object.readFileSync (fs.js:343:35)
    at fetch (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:1329786)
    at Root.load (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:1330192)
    at Root.loadSync (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:1330372)
    at Object.loadSync (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:2416566)
    at Object.8ZNE (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:1845817)
    at __webpack_require__ (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:317)
    at Object.BYZf (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:1943982)
    at __webpack_require__ (C:\angular projects\testapp.io\dist\testapp\server\main.js:1:317)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! testapp@0.0.0 serve:ssr: `node dist/testapp/server/main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the testapp@0.0.0 serve:ssr script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\jdgam\AppData\Roaming\npm-cache\_logs\2020-04-14T06_52_22_707Z-debug.log
PS C:\angular projects\testapp.io> 
PS C:\angular projects\testapp.io>npm运行服务:ssr
> testapp@0.0.0服务:ssr C:\angular projects\testapp.io
>node dist/testapp/server/main.js
C:\angular projects\testapp.io\dist\testapp\server\main.js:1
!函数(e,a){for(a中的var i)e[i]=a[i]}(导出,函数(模块){var installedModules={},installedChunks={1:0};函数{uu webpack}u require{if(installedModules[moduleId])返回installedModules[moduleId]。导出;变量模块=installedModules[moduleId]={i:moduleId,l:!1,导出:{};返回模块[moduleId]。调用(module.exports,module,module.exports,uuu webpack_uurequire_uuu),module.l=!0,module.exports}return uu webpack_urequire uuu require uuu.e=函数require(chunkId){if(0!==installedChunks[chunkId]){var chunk=require(./“+({0:“firebase函数”,2:“供应商~firebase验证”,3:“供应商~firebase函数”}[chunkId]| | chunkId)+.js,moreModules=chunk.modules,chunkIds=chunk.ids;for(var moduleId in moreModules)modules[moduleId]=moreModules[moduleId];for(var i=0;i)

因此,这与Angular 9中的Ivy有关。请确保将@firebase/firestore添加到externalDependencies中,因为它显然需要手动导入:

“服务器”:{
“生成器”:“@angular devkit/build angular:server”,
“选择”:{
“outputPath”:“dist/fireblog/server”,
“main”:“server.ts”,
“tsConfig”:“tsConfig.server.json”,
“外部依赖项”:[
“@firebase/firestore”,
“@nestjs/microservices”,
“@nestjs/microservices/microservices模块”,
“@nestjs/websockets”,
“@nestjs/websockets/socket模块”,
“缓存管理器”
]
},

因此,这与Angular 9中的Ivy有关。请确保将@firebase/firestore添加到externalDependencies中,因为它显然需要手动导入:

“服务器”:{
“生成器”:“@angular devkit/build angular:server”,
“选择”:{
“outputPath”:“dist/fireblog/server”,
“main”:“server.ts”,
“tsConfig”:“tsConfig.server.json”,
“外部依赖项”:[
“@firebase/firestore”,
“@nestjs/microservices”,
“@nestjs/microservices/microservices模块”,
“@nestjs/websockets”,
“@nestjs/websockets/socket模块”,
“缓存管理器”
]
},