npm запустить подачу: сср. ENOENT: нет такого файла или каталога, откройте «google / protobuf / api.proto» - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь перенести существующее приложение angular для использования рендеринга на стороне сервера через Angular Universal . npm build: ssr работает без проблем, но при попытке обслужить: ssr выдает ошибку при попытке найти 'google / protobuf / api.proto' и другие protos.

Protos находятся в node_modules/protobufjs/google..., но, по-видимому, не может быть найден при попытке обслуживания сайта.

В некоторых поисках Google было сказано, что мне нужно поставить externalDependencies, но это не сработало.

информация о версии :

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 9.0.7
Node: 13.12.0
OS: darwin x64

Angular: 9.0.5
... common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router, service-worker
Ivy Workspace: Yes

Package                                    Version
--------------------------------------------------------------------
@angular-devkit/architect                  0.900.7
@angular-devkit/build-angular              0.900.7
@angular-devkit/build-optimizer            0.900.7
@angular-devkit/build-webpack              0.900.7
@angular-devkit/core                       9.1.1
@angular-devkit/schematics                 9.1.1
@angular/animations                        9.1.1
@angular/cdk                               9.1.1
@angular/cli                               9.0.7
@angular/elements                          9.1.1
@angular/fire                              5.4.2
@angular/flex-layout                       9.0.0-beta.29
@angular/material                          9.1.1
@angular/upgrade                           9.1.1
@ngtools/webpack                           9.0.7
@nguniversal/builders                      9.1.0
@nguniversal/common                        9.1.0
@nguniversal/express-engine                9.1.0
@nguniversal/module-map-ngfactory-loader   8.2.6
@schematics/angular                        9.1.1
@schematics/update                         0.803.26
rxjs                                       6.5.5
typescript                                 3.7.5
webpack                                    4.41.2```

1 Ответ

0 голосов
/ 16 апреля 2020

Если вы используете Angular Firestore, вам нужно добавить его в качестве зависимости. Вот что сработало для меня в вашем файле angular. json.

 "server": {
          "builder": "@angular-devkit/build-angular:server",
          "options": {
            "outputPath": "dist/TeacherKellyUKA/server",
            "main": "server.ts",
            "tsConfig": "tsconfig.server.json",
            "externalDependencies": ["@firebase/firestore"]
          },

Если это не сработает, попробуйте эту тему: Angular 9 универсальная Ошибка: компонент 'HeaderComponent' не разрешен:

...