Gui*_*e M 5 angular-universal angular angular-ivy
当我尝试在我的项目中使用 Ivy + Angular Universal 时出现错误。
我只有在 Ivy 模式下使用 Angular 时才会出现这个错误(当我在我的设置中设置enableIvy为 false 时,我tsconfig.app.json可以成功构建我的应用程序)。
以下是重现我的问题的步骤:
1. 与 Ivy 的新项目
ng new test-angular --enableIvy
2.添加Angular Universal
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
Run Code Online (Sandbox Code Playgroud)
如果我删除main.server.ts文件中的这些行(步骤 2 中生成的文件)
export { ngExpressEngine } from "@nguniversal/express-engine";
export { provideModuleMap } from "@nguniversal/module-map-ngfactory-loader";
Run Code Online (Sandbox Code Playgroud)
命令ng build,ng serve有效,但我仍然可以使用 SSR(由于我已经删除的行我猜npm run serve:ssr失败了TypeError: provideModuleMap is not a function......)。
谢谢你=)
我们刚刚发布了对 Ivy 和 NG9 的官方支持(请注意,ng9 仍在rc(候选版本)中,因此在最终版本之前 Angular 可能会发生一些变化)。
总结一下设置:
\n\n确保您的 Angular 应用程序已升级到最新的 v9 (RC)
安装最新的 (RC) 通用原理图ng add @nguniversal/express-engine@next
如果您是通过“ng update”从现有的通用原理图 v8(express-engine 或 hapi-engine)升级而来,即:\nng update @nguniversal/express-engine \xe2\x80\x94-next
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |