У меня ошибка при попытке использовать Ivy + Angular Universal в моем проекте.
Эта ошибка возникает только при использовании Angular в режиме Ivy (когда для enableIvy
установлено значение false вмой tsconfig.app.json
я могу успешно создать свое приложение).
Вот шаги по воспроизведению моей проблемы:
1.Новый проект с Ivy
ng new test-angular --enableIvy
2.Добавить Угловой универсальный
ng add @nguniversal/express-engine --clientProject test-angular
3.Когда я делаю ng build, я получаю ошибку
ERROR in Node does not exist: "path_to/node_modules/@nguniversal/express-engine"
Мой вывод ng --version:
Angular CLI: 8.1.0
Node: 10.15.3
OS: win32 x64
Angular: 8.1.0
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router
Package Version
--------------------------------------------------------------------
@angular-devkit/architect 0.801.0
@angular-devkit/build-angular 0.801.0
@angular-devkit/build-optimizer 0.801.0
@angular-devkit/build-webpack 0.801.0
@angular-devkit/core 8.1.0
@angular-devkit/schematics 8.1.0
@ngtools/webpack 8.1.0
@nguniversal/express-engine 8.1.1
@nguniversal/module-map-ngfactory-loader 8.1.1
@schematics/angular 8.1.0
@schematics/update 0.801.0
rxjs 6.4.0
typescript 3.4.5
webpack 4.35.2
Если я удаляю эти строки вmain.server.ts
file (файл, созданный на шаге 2)
export { ngExpressEngine } from "@nguniversal/express-engine";
export { provideModuleMap } from "@nguniversal/module-map-ngfactory-loader";
Команды ng build
, ng serve
работают, но я все еще могу использовать SSR (npm run serve:ssr
завершается неудачно с TypeError: provideModuleMap is not a function
из-за строкиЯ удалил, я думаю ...).
Спасибо =)