Parcel.AspNetCore.Middleware
0.1.0
dotnet add package Parcel.AspNetCore.Middleware --version 0.1.0
NuGet\Install-Package Parcel.AspNetCore.Middleware -Version 0.1.0
<PackageReference Include="Parcel.AspNetCore.Middleware" Version="0.1.0" />
paket add Parcel.AspNetCore.Middleware --version 0.1.0
#r "nuget: Parcel.AspNetCore.Middleware, 0.1.0"
// Install Parcel.AspNetCore.Middleware as a Cake Addin #addin nuget:?package=Parcel.AspNetCore.Middleware&version=0.1.0 // Install Parcel.AspNetCore.Middleware as a Cake Tool #tool nuget:?package=Parcel.AspNetCore.Middleware&version=0.1.0
This repository contains a ASP.NET Core middlware for running ParcelJS in your development environment.
Setup
Add the middleware in your Startup.Configure
-method.
if (env.IsDevelopment())
{
services.UseParcelBundler(new ParcelBundlerOptions("Client/index.html"));
}
This will start Parcel in the background with the given file as its entry point. Several entry points can be configured:
services.UseParcelBundler(new ParcelBundlerOptions("Client/js/app.js", "Client/css/app.scss"));
Content will be built to the web-root of ASP.NET Core (see WebHost.UseWebRoot
), which by default is wwwroot
.
To build to a specific directory in your web-root you can specify the OutDir
-option:
services.UseParcelBundler(new ParcelBundlerOptions("Client/index.html")
{
OutDir = "dist"
})
This configuration will build the content to wwwroot/dist
.
The other possible options in ParcelBundlerOptions
are the same as those provided by the Parcel Bundler API.
Known issues
Hot Module Reload and HTTPS
HMR does not work out-of-the-box when hosting your application under HTTPS. To make
HMR work you will either need to use HTTP
in ASP.NET Core or configure the middleware
with some trusted certificate using ParcelBundlerOptions.Https
.
The reason that HRM does not work is that the HMR-code in Parcel will look at the protocol used by the browser when accessing your application to determine whether to use a secure WebSocket when connecting to Parcel's dev-server. If you application is hosted using HTTPS but Parcel is not, then it will try to connect using the wrong protocol.
This is not an issue which can be fixed in this repository. It is an issue which needs to be fixed in Parcel itself.
Some ideas to make things easier, which I might propose to the maintainers of Parcel:
- Add support for PFX-files when configuring HTTPS, to make it possible for this package to configure Parcel to use the same self-signed certificate used by ASP.NET Core.
- Make the HMR-code in Parcel rely on the configuration given when starting the server, rather than relying on the protocol used by the browser.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Mvc.Core (>= 2.1.3)
- Microsoft.AspNetCore.NodeServices (>= 2.1.1)
- Newtonsoft.Json (>= 11.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0 | 1,070 | 11/8/2018 |