Soenneker.Blazor.Utils.ModuleImport
4.0.1860
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Blazor.Utils.ModuleImport --version 4.0.1860
NuGet\Install-Package Soenneker.Blazor.Utils.ModuleImport -Version 4.0.1860
<PackageReference Include="Soenneker.Blazor.Utils.ModuleImport" Version="4.0.1860" />
<PackageVersion Include="Soenneker.Blazor.Utils.ModuleImport" Version="4.0.1860" />
<PackageReference Include="Soenneker.Blazor.Utils.ModuleImport" />
paket add Soenneker.Blazor.Utils.ModuleImport --version 4.0.1860
#r "nuget: Soenneker.Blazor.Utils.ModuleImport, 4.0.1860"
#:package Soenneker.Blazor.Utils.ModuleImport@4.0.1860
#addin nuget:?package=Soenneker.Blazor.Utils.ModuleImport&version=4.0.1860
#tool nuget:?package=Soenneker.Blazor.Utils.ModuleImport&version=4.0.1860
Soenneker.Blazor.Utils.ModuleImport
A Blazor utility library assisting with asynchronous module loading
This library simplifies the process of loading JavaScript modules and provides methods for waiting until a module is loaded and disposing of modules when they are no longer needed.
Features
- Import JavaScript modules dynamically.
- Wait until a module is fully loaded.
- Dispose of JavaScript modules when they are no longer needed.
- Singleton pattern to ensure that each module is loaded only once.
Installation
To install, add the package to your Blazor project using the .NET CLI:
dotnet add package Soenneker.Blazor.Utils.ModuleImport
Register it in DI:
builder.Services.AddModuleImportUtil();
Example
Here's an example of how to use the ModuleImportUtil in a Blazor component:
@page "/example"
@inject IModuleImportUtil ModuleImportUtil
@implements IAsyncDisposable
<h3>Module Import Example</h3>
<button @onclick="LoadModule">Load Module</button>
@code {
private async Task LoadModule()
{
var module = await ModuleImportUtil.Import("exampleModule");
await ModuleImportUtil.WaitUntilLoaded("exampleModule");
// Guaranteed that the module has been added to the DOM, and available at this point
}
public async ValueTask DisposeAsync()
{
await ModuleImportUtil.DisposeModule("exampleModule");
}
}
| 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
- Microsoft.JSInterop (>= 10.0.11)
- Soenneker.Dictionaries.Singletons (>= 4.0.81)
- Soenneker.Extensions.CancellationTokens (>= 4.0.22)
- Soenneker.Utils.CancellationScopes (>= 4.0.48)
NuGet packages (16)
Showing the top 5 NuGet packages that depend on Soenneker.Blazor.Utils.ModuleImport:
| Package | Downloads |
|---|---|
|
Soenneker.Blazor.Utils.JsVariable
A Blazor interop library that checks (and waits) for the existence of a JS variable |
|
|
Soenneker.Blazor.Clarity
A small Blazor interop library that sets up Microsoft Clarity |
|
|
Soenneker.Blazor.LogJson
A Blazor interop library that logs JSON (like HTTP requests/responses) within the browser |
|
|
Soenneker.Blazor.ApplicationInsights
A Blazor interop library that sets up client-side Application Insights |
|
|
Soenneker.Blazor.MediaQuery
A Blazor interop library for media queries for viewport size logic |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.1868 | 0 | 8/30/2026 |
| 4.0.1866 | 0 | 8/30/2026 |
| 4.0.1865 | 0 | 8/30/2026 |
| 4.0.1864 | 0 | 8/30/2026 |
| 4.0.1861 | 24 | 8/29/2026 |
| 4.0.1860 | 26 | 8/29/2026 |
| 4.0.1859 | 116 | 8/29/2026 |
| 4.0.1858 | 1,763 | 8/26/2026 |
| 4.0.1857 | 755 | 8/26/2026 |
| 4.0.1856 | 3,574 | 8/21/2026 |
| 4.0.1855 | 3,663 | 8/18/2026 |
| 4.0.1854 | 2,777 | 8/13/2026 |
| 4.0.1853 | 1,040 | 8/11/2026 |
| 4.0.1852 | 7,733 | 8/9/2026 |
| 4.0.1851 | 2,312 | 8/8/2026 |
| 4.0.1850 | 1,431 | 8/8/2026 |
| 4.0.1849 | 4,502 | 8/7/2026 |
| 4.0.1848 | 3,495 | 7/29/2026 |
| 4.0.1847 | 3,214 | 7/29/2026 |
| 4.0.1846 | 597 | 7/28/2026 |
Improve public API XML documentation