当我尝试在项目中使用Ivy + Angular Universal时出现错误。
[仅当我在常春藤模式下使用Angular时才会出现此错误(当我在enableIvy
中将tsconfig.app.json
设置为false时,我可以成功构建应用程序。
以下是重现我的问题的步骤:
1。常春藤的新项目
ng new test-angular --enableIvy
2。添加Angular Universal
ng add @nguniversal/express-engine --clientProject test-angular
3。当我进行构建时,出现错误
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
文件(在步骤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
而失败,因为我删除了该行,我想是...)。
谢谢您=)
当我在项目中尝试使用Ivy + Angular Universal时出现错误。我只有在常春藤模式下使用Angular时才会遇到此错误(当我在tsconfig.app.json中将enableIvy设置为false时,我可以...
[我们刚刚发布了对Ivy&NG9的官方支持(请注意,ng9仍在rc
(候选发布版本中,因此在最终版本发布之前,Angular可能会发生一些变化)。