From 542f236dc406d574303abd99b9ebe8a14d1c8b6b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 4 Dec 2019 08:07:10 +0100 Subject: [PATCH] docs: add documentation for server and Ivy without bundleDependencies (#34225) PR Close #34225 --- aio/content/guide/ivy.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/aio/content/guide/ivy.md b/aio/content/guide/ivy.md index 1d50613aed..044c067959 100644 --- a/aio/content/guide/ivy.md +++ b/aio/content/guide/ivy.md @@ -73,6 +73,27 @@ By having all libraries continue to use View Engine, you will maintain compatibi See the [Creating Libraries](guide/creating-libraries) guide for more on how to compile or bundle your Angular library. When you use the tools integrated into the Angular CLI or `ng-packagr`, your library will always be built the right way automatically. +{@a ivy-and-universal-app-shell} +## Ivy and Universal/App shell +In version 9, the server builder which is used for [App shell](guide/app-shell) and [Angular Universal](guide/universal) has the `bundleDependencies` option enabled by default. +If you opt-out of bundling dependencies you will need to run the standalone Angular compatibility compiler (`ngcc`). This is needed because otherwise Node will be unable to resolve the Ivy version of the packages. + +You can run `ngcc` after each installation of node_modules by adding a `postinstall` [npm script](https://docs.npmjs.com/misc/scripts): + + +{ + "scripts": { + "postinstall": "ngcc" + } +} + + +
+ +Don't use `--create-ivy-entry-points` as this will cause Node not to resolve the Ivy version of the packages correctly. + +
+ {@a opting-out-of-angular-ivy} ## Opting out of Ivy in version 9