MintPlayer.AspNetCore.SpaServices.Prerendering
10.6.0
dotnet add package MintPlayer.AspNetCore.SpaServices.Prerendering --version 10.6.0
NuGet\Install-Package MintPlayer.AspNetCore.SpaServices.Prerendering -Version 10.6.0
<PackageReference Include="MintPlayer.AspNetCore.SpaServices.Prerendering" Version="10.6.0" />
<PackageVersion Include="MintPlayer.AspNetCore.SpaServices.Prerendering" Version="10.6.0" />
<PackageReference Include="MintPlayer.AspNetCore.SpaServices.Prerendering" />
paket add MintPlayer.AspNetCore.SpaServices.Prerendering --version 10.6.0
#r "nuget: MintPlayer.AspNetCore.SpaServices.Prerendering, 10.6.0"
#:package MintPlayer.AspNetCore.SpaServices.Prerendering@10.6.0
#addin nuget:?package=MintPlayer.AspNetCore.SpaServices.Prerendering&version=10.6.0
#tool nuget:?package=MintPlayer.AspNetCore.SpaServices.Prerendering&version=10.6.0
MintPlayer.AspNetCore.SpaServices.Prerendering
This package provides enhanced server-side prerendering capabilities for ASP.NET Core single-page applications. It is a dependency of MintPlayer.AspNetCore.SpaServices.Routing.
Installation
NuGet Package Manager
Install-Package MintPlayer.AspNetCore.SpaServices.Prerendering
.NET CLI
dotnet add package MintPlayer.AspNetCore.SpaServices.Prerendering
Features
- Server-side prerendering with data injection
- Support for Angular Universal and similar SSR solutions
- Integration with ASP.NET Core request pipeline
MSBuild Integration
This package includes MintPlayer.AspNetCore.NodeServices which automatically configures your project with build targets for SPA development.
See the NodeServices documentation for details on:
EnableSpaBuilder- Master switch to disable SPA build automationSpaRoot- Configure your SPA source folderBuildServerSideRenderer- Toggle SSR bundle building
Disabling SPA Builder
If your project doesn't have a SPA but references this package:
<PropertyGroup>
<EnableSpaBuilder>false</EnableSpaBuilder>
</PropertyGroup>
Usage
spa.UseSpaPrerendering(options =>
{
options.BootModulePath = $"{spa.Options.SourcePath}/dist/server/main.js";
options.BootModuleBuilder = env.IsDevelopment()
? new AngularCliBuilder(npmScript: "build:ssr")
: null;
options.ExcludeUrls = new[] { "/sockjs-node" };
options.SupplyData = (context, data) =>
{
// Supply data to the prerenderer
data["message"] = "Hello from server!";
};
});
Related Packages
- MintPlayer.AspNetCore.NodeServices - Node.js integration
- MintPlayer.AspNetCore.SpaServices - Core SPA services
- MintPlayer.AspNetCore.SpaServices.Routing - SPA route integration (recommended)
License
This project is licensed under the Apache 2.0 License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MintPlayer.AspNetCore.NodeServices (>= 10.4.1)
- MintPlayer.AspNetCore.SpaServices (>= 10.6.0)
- MintPlayer.SourceGenerators.Attributes (>= 10.13.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MintPlayer.AspNetCore.SpaServices.Prerendering:
| Package | Downloads |
|---|---|
|
MintPlayer.AspNetCore.SpaServices.Routing
This package simplifies the SPA prerendering. Define your SPA routes in your service registration and check which SPA route is activated in the SupplyData callback. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.6.0 | 97 | 8/27/2026 |
| 10.5.0 | 275 | 3/14/2026 |
| 10.4.0 | 847 | 2/27/2026 |
| 10.3.0 | 162 | 2/1/2026 |
| 10.2.1 | 180 | 1/19/2026 |
| 10.2.0 | 166 | 1/18/2026 |
| 10.1.0 | 178 | 1/16/2026 |
| 10.0.2 | 172 | 1/12/2026 |
| 10.0.1 | 295 | 12/20/2025 |
| 10.0.0 | 895 | 11/13/2025 |
| 10.0.0-rc.6 | 355 | 11/11/2025 |
| 10.0.0-rc.5 | 274 | 11/11/2025 |
| 10.0.0-rc.4 | 213 | 11/5/2025 |
| 10.0.0-rc.3 | 175 | 11/5/2025 |
| 10.0.0-rc.2 | 205 | 11/5/2025 |
| 10.0.0-rc.1 | 168 | 10/2/2025 |
| 9.1.0 | 1,729 | 11/22/2024 |
| 9.0.0 | 1,425 | 11/13/2024 |
| 8.3.0 | 1,919 | 6/10/2024 |
| 8.2.0 | 11,773 | 11/28/2023 |
v 10.6.0
BREAKING CHANGES
- Content types are now matched case-insensitively, with optional whitespace allowed before the ';'
(media types are case-insensitive per RFC 9110 8.3.1). A response typed "TEXT/HTML" or
"Text/Html; charset=utf-8" was previously passed through unrendered; it is now prerendered.
- A RenderToStringResult carrying both RedirectUrl and Globals now throws. The Globals guard lived
in the else-branch only, so the payload was silently dropped on the redirect path while the same
payload on a rendered page threw.
- HTTP 308 is now treated as a permanent redirect alongside 301. It was previously downgraded to
302, losing both the permanence and the method preservation.
FIXES
- A render result with no Html now reports that prerendering returned no HTML, instead of surfacing
as ArgumentNullException (Parameter 'text').