mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-23 01:58:29 +00:00
Angular: Prerendering does not work when app is published #315
Closed
opened 2025-08-09 17:15:49 +00:00 by fergalmoran
·
0 comments
No Branch/Tag Specified
master
rybrande/masterToSrc
pakrym/no-console-fb
release/2.2
pakrym/remove-obsole-api-usage
maestro/release/2.2
maestro/master
release/2.1
release/2.0
rybrande/MergeRelease21IntoDev
rel/2.0.0-extensions
angular-animations-example
fix-angular-material-publishing
rel/2.0.0-templates
httpwithstatetransfer-example
rel/2.0.0-preview2-templates
aspnet-webpack-react-2.x
angular4-prerender-data-example
version-1.x
angular2-lazy-loading-example
581-isomorphic-react-cookies-example
example-using-typescript-paths-for-494
v1.0.x
angular2-materialize-example
redux-typed-1-x
primeng-example
font-awesome-example
karma-testing-example
2.2.0
2.2.0-preview3
2.2.0-preview2
2.2.0-preview1
2.1.1
2.1.0
2.0.4
2.1.0-rc1-final
2.1.0-preview2-final
2.0.3
2.1.0-preview1-final
2.0.2
2.0.1
rel/2.0.0
rel/2.0.0-preview2
Labels
Clear labels
2 - Working
2 - Working
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
angular
angular
angular
angular
angular
bug
bug
bug
bug
bug
bug
bug
bug
bug
core
core
core
core
core
core
core
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
external
external
P1
P1
P1
P1
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
P2
PRI: 1 - Required
react
react
task
task
up-for-grabs
up-for-grabs
up-for-grabs
waiting
waiting
waiting
waiting
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
fergalmoran
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/JavaScriptServices#315
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @danielpalme on 11/17/2017
The problem
Prerendering does not work when a web application (based on the default Angular template) is upgraded to Angular 5.
Disclaimer:
I'm not sure who can fix this problem. Maybe it's a problem of angular-cli.
Steps to reproduce:
Create new project using default Angular template of VS 2017
Create a new "ASP.NET Core Web Application" using the Angular template (Target ".NET Core" with ASP.NET Core 2.0).

I'm using VS 2017 in version 15.4.4
Upgrade to Angular 5
Now I upgraded to Angular 5 and updated all other packages. This results in the following package.json:
Fix Webpack issue
If you publish the application now, you will get the the following error:
Please update @angular/cli. Angular 5+ requires at least Angular CLI 1.5+This issue is documented here:
https://github.com/angular/angular-cli/issues/8333#issuecomment-341907713
https://github.com/angular/angular/issues/19913
It can be fixed by updating
webpack.config.js.The
AotPluginhas to be replaced with theAngularCompilerPlugin.Now publishing the app is possible without any errors.
Run the application
If you execute the published application with
dotnet MyApplication.dlland visit the website you will see the following error in the browser:The log shows the following error:
Workaround
The problem can be "hidden" if prerendering is disabled. When
Views\Home\Index.cshtmlis changed from<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>to
<app>Loading...</app>you are able to use the published app, but of course without server side prerendering.
Other ideas
If you look at the source code of
AngularCompilerPlugin, you can find an option calledplatform(see angular_compiler_plugin.tsSetting that option in
webpack.config.jsdid not result in any improvements.Source code
Here is the full source code of my demo application: Issue_Angular5_Publish.zip