MintPlayer.AspNetCore.SpaServices
10.6.0
See the version list below for details.
dotnet add package MintPlayer.AspNetCore.SpaServices --version 10.6.0
NuGet\Install-Package MintPlayer.AspNetCore.SpaServices -Version 10.6.0
<PackageReference Include="MintPlayer.AspNetCore.SpaServices" Version="10.6.0" />
<PackageVersion Include="MintPlayer.AspNetCore.SpaServices" Version="10.6.0" />
<PackageReference Include="MintPlayer.AspNetCore.SpaServices" />
paket add MintPlayer.AspNetCore.SpaServices --version 10.6.0
#r "nuget: MintPlayer.AspNetCore.SpaServices, 10.6.0"
#:package MintPlayer.AspNetCore.SpaServices@10.6.0
#addin nuget:?package=MintPlayer.AspNetCore.SpaServices&version=10.6.0
#tool nuget:?package=MintPlayer.AspNetCore.SpaServices&version=10.6.0
MintPlayer.AspNetCore.SpaServices
This package contains the ASP.NET Core SPA prerenderer, enabling server-side rendering for single-page applications built with Angular, React, or other frameworks.
Installation
NuGet Package Manager
Install-Package MintPlayer.AspNetCore.SpaServices
.NET CLI
dotnet add package MintPlayer.AspNetCore.SpaServices
Features
- Server-side prerendering for SPAs
- Integration with ASP.NET Core middleware pipeline
- Support for data passing between server and client
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>
Basic Usage
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
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" };
});
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
Related Packages
- MintPlayer.AspNetCore.NodeServices - Node.js integration (included)
- MintPlayer.AspNetCore.SpaServices.Prerendering - Enhanced prerendering
- MintPlayer.AspNetCore.SpaServices.Routing - SPA route integration
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.Abstractions (>= 10.1.0)
- MintPlayer.SourceGenerators.Attributes (>= 10.13.0)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MintPlayer.AspNetCore.SpaServices:
| Package | Downloads |
|---|---|
|
MintPlayer.AspNetCore.SpaServices.Prerendering
Server-side prerendering for an ASP.NET Core single-page application. Runs your SPA's server bundle in Node.js, uses the page your pipeline would otherwise have served as the render template, and lets your ASP.NET Core code push request-scoped data into the render. Usually consumed through MintPlayer.AspNetCore.SpaServices.Routing. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.7.1 | 48 | 9/5/2026 |
| 10.7.0 | 55 | 9/3/2026 |
| 10.6.0 | 141 | 8/27/2026 |
| 10.5.0 | 1,323 | 3/14/2026 |
| 10.4.0 | 1,314 | 2/27/2026 |
| 10.3.0 | 378 | 2/1/2026 |
| 10.2.1 | 195 | 1/19/2026 |
| 10.2.0 | 176 | 1/18/2026 |
| 10.1.0 | 179 | 1/16/2026 |
| 10.0.2 | 196 | 1/12/2026 |
| 10.0.1 | 473 | 12/20/2025 |
| 10.0.0 | 896 | 11/13/2025 |
| 10.0.0-rc.6 | 342 | 11/11/2025 |
| 10.0.0-rc.5 | 267 | 11/11/2025 |
| 10.0.0-rc.4 | 210 | 11/5/2025 |
| 10.0.0-rc.3 | 181 | 11/5/2025 |
| 10.0.0-rc.1 | 191 | 10/2/2025 |
| 9.0.0 | 3,107 | 11/13/2024 |
| 8.3.0 | 1,965 | 6/10/2024 |
| 8.2.0 | 11,816 | 11/28/2023 |
v 10.6.0
BREAKING CHANGES
- SpaProxy now forwards content headers on bodiless requests (GET/HEAD/DELETE/TRACE). A content
header such as Content-Type is rejected by the request header collection and belongs on the
content instead; the fallback only ran when there was a body, so the header was dropped with no
trace. Such a request now carries an empty content in order to keep the header.
FIXES
- The SpaOptions copy constructor now carries StartupTimeout and CliRegexes. UseSpaImproved clones
the options so that multiple UseSpa calls do not interfere, so a caller-configured startup timeout
was previously lost exactly where it mattered.
- UseProxyToSpaDevelopmentServer now validates its arguments on all three overloads instead of
surfacing a bare NullReferenceException.
- An empty SpaStaticFilesOptions.RootPath now throws InvalidOperationException from both entry
points. It previously threw ArgumentException from one and InvalidOperationException from the
other, depending only on which was reached first.