dotnet new blazorserver -o BlazorApp --no-https
													BlazorAppinside your current location. Navigate to the new
											BlazorAppdirectory created by the following command:
											
cd BlazorApp
													Our theme already contain webpack configuration which we can use to build assets for our Blazor app.
/html/themefolder and paste it into a root of our Blazor app./html/themewe have
													/toolsfolder and demo folders, you can leave only demo folder which you will be using, the content of our html files will be placed into a different razor files so
													/{demo}/distfolder with
													.htmlfiles is not required for this integration./assetsfolder is placed into
											/theme/{demo}/dist, in our theme we need to place it into
											/wwwrootfolder. We can easily change build output folder path in
											tools/webpack.config.js.distPathvariable:
…
const distPath = demoPath + '../../../wwwroot';
…
												/html/{demo}/dist/index.htmland paste it into
											/Shared/MainLayout.razor. Also we need to copy all body tag attributes and values (id, class, style) and paste them on body in
											/Shared/MainLayout.razor./Shared/MainLayout.razorfile, line below is required.
											
											
@inherits LayoutComponentBase
												/html/{demo}/dist/index.htmlhead tag and paste them into a head tag in file
											/Pages/_Layout.cshtml@Body, which will allow us change a content of the page depending on route.
...
<!--begin::Content-->
<div class="content d-flex flex-column flex-column-fluid" id="kt_content">
    <!--begin::Container-->
    <div id="kt_content_container" class="container-fluid">
        @Body
    </div>
    <!--end::Container-->
</div>
<!--end::Content-->
...
													/Shared/MainLayout.razorin OnAfterRenderAsync lifecycle hook.
@inject IJSRuntime JS
@inject NavigationManager MyNavigationManager
@code {
    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await JS.InvokeAsync<IJSObjectReference>("import", MyNavigationManager.ToAbsoluteUri("assets/plugins/global/plugins.bundle.js"));
            await JS.InvokeAsync<IJSObjectReference>("import", MyNavigationManager.ToAbsoluteUri("assets/js/scripts.bundle.js"));
        }
    }
}
													
dotnet watch run
													dotnet watch runcommand builds and startups the app, and then automatically rebuils and restarts the app whenever you make code changes. You can stop the app at any time by selecting
											Ctrl+C.