Blazor-Blazor WebAssmbly项目结构(上)

embedded/2025/1/23 15:31:36/

创建项目

今天我们来创建一个BlazorWebAssmbly项目,来看看项目结构是如何得,我们创建带模板得项目,会创建出一个demo,来看看项目结构。
在这里插入图片描述
在这里插入图片描述

创建的项目可以直接启动运行,首次启动会看见加载的过程,这个过程是正在下载.NET的捆绑包等资源
在这里插入图片描述
在这里插入图片描述

项目结构

我们可以看到如下的整体项目结构,我们可以一级一级来看看文件都有什么作用
在这里插入图片描述

Program.cs

在这里插入图片描述

这个文件相信大家都很熟悉了,是项目的入口函数,我们看看文件里写的内容都有什么作用,具体每段的解释已经写在注释里了,供同学参考

using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;namespace BlazorApp1
{public class Program{public static async Task Main(string[] args){//运行 Blazor 的主机对象和其它默认配置var builder = WebAssemblyHostBuilder.CreateDefault(args);//表示在根组件集合中添加 App.razor 组件,//并将 App.razor 组件中的内容在index.html 文件的id=”app”的<div>元素中呈现builder.RootComponents.Add<App>("#app");//表示在根组件集合中添加 HeadOutlet 组件,该组件是 Blazor 提供的内置组件,用于呈现 PageTitle 和 HeadContent 组件提供的内容。builder.RootComponents.Add<HeadOutlet>("head::after");//注册服务builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });//启动项目await builder.Build().RunAsync();}}
}

在上面的代码中存在#app和head::after熟悉JS的同学们可能已经猜到了这个是选择器的作用
#app 表示选择id为app的元素
head::after 表示选择head标记底部

launchSettings.json

配置应用程序在开发环境中运行和调试使用的端口号及启动方式,在开发环境中使用;发布到生产环
境中不需要此配置文件。
在这里插入图片描述

我们从外层至内层来看看各个配置项的作用
在这里插入图片描述

$schema

指定json使用的标准

iisSettings

用于对 IIS 和 IIS Express 使用的端口号、windowsAuthentication 和 anonymousAuthentication 进行配置

  "iisSettings": {"windowsAuthentication": false,"anonymousAuthentication": true,"iisExpress": {"applicationUrl": "http://localhost:16708","sslPort": 44358}
  1. windowsAuthentication:是否启用 Windows 身份验证

  2. anonymousAuthentication:是否启用匿名身份验证

  3. applicationUrl:设置应用程序使用 IIS Express 运行时访问 http 协议的 URL 地址和端口号

  4. sslPort:用于 SSL 安全访问的端口号

profiles

配置项目的启动方式,可配置 http、https 或 IIS Express启动方式

"profiles": {"http": {"commandName": "Project","dotnetRunMessages": true,"launchBrowser": true,"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}","applicationUrl": "http://localhost:5191","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}},"https": {"commandName": "Project","dotnetRunMessages": true,"launchBrowser": true,"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}","applicationUrl": "https://localhost:7277;http://localhost:5191","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}},"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}}
}

http,https默认启动的是 Kestrel 服务器

  1. commandName
    IISExpress:启动 IIS Express 运行应用程序。
    Project:启动 ASP.NET Core 内置的 Kestrel 服务器。
  2. launchBrowser:设置在应用程序运行或调试时是否自动打开默认浏览器访问
  3. applicationUrl:配置访问应用程序的 URL 地址,多个 URL 地址使用分号隔开。
  4. inspectUri:在 Blazor WebAssembly 应用程序上启用调试的 URL 地址。
  5. dotnetRunMessages:使用 dotnet run 命令运行项目时,是否显示反馈信息。
  6. environmentVariables:以键/值对的方式配置环境变量,“ASPNETCORE_ENVIRONMENT”: "Development"表示当前是开发环境

wwwroot 文件夹

默认存放静态文件的,默认使用 wwwroot 文件夹存放静态文件,如*.css、.js、.html 文件、图片、音视频等都是静态文件,静态文件不需要编译即可运行

下期将带来其余项目结构中的内容

Blazor-Blazor WebAssmbly项目结构(下)


http://www.ppmy.cn/embedded/156332.html

相关文章

自定义BeanPostProcessor实现自动注入标注了特定注解的Bean

定义注解 Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented public interface MyAnno { }定义一个配置类 Configuration public class RestConfig {MyAnnoBeanpublic PayDTO payDTO(){PayDTO payDTO …

mikrotik7配置内网到内网的lantolan

lan to lan又称site to site&#xff0c;在前面的文章已经配置wireguard实现单个ip互访&#xff0c;这期来实现lan to lan 客户端依然使用windows。本期在上一篇基础上增加配置 一、LAN to LAN配置 windows客户端修改 我的第一个内网网段是192.168.11.0/24,以下为相关修改 …

詳細講一下在RN(ReactNative)中,6個比較常用的組件以及詳細的用法

1.View 组件&#xff08;基础容器&#xff09; import { View, StyleSheet } from react-native;const MyComponent () > {return (<View style{styles.container} // 样式pointerEvents"none" // 控制触摸事件&#xff1a;none, box-none, box-only, …

(2025,BioLM,综述)用于生物信息学的 LLM

Large Language Models for Bioinformatics 目录 0. 摘要 1. 引言 2. 生物信息学中语言模型与基础模型的背景 2.1 语言模型与生物信息学基础概述 2.1.1 LLM 与基础模型 2.1.2 生物信息学的应用与挑战 2.2 训练方法与模型 2.2.1 预训练 2.2.2 RLHF 2.2.3 知识蒸馏 …

政府机构如何使用六西格玛来提高效率和提供更好的服务

联邦机构面临着改善运作、降低成本和确保向公民提供高质量服务的巨大压力。六西格玛方法与Minitab强大的工具相结合&#xff0c;使政府组织能够充满信心地应对这些挑战。通过简化流程、减少浪费和改进决策&#xff0c;政府团队可以提供真正有影响力的服务。 六西格玛如何改善政…

OFD 套版生成原理与 C# 实现详解

1. 引言 OFD&#xff08;Open Fixed-layout Document&#xff09;是一种基于 XML 的开放版式文档格式&#xff0c;主要用于电子文档的存储和交换。与 PDF 类似&#xff0c;OFD 是一种固定版式文档格式&#xff0c;能够确保文档在不同设备和平台上显示的一致性。OFD 格式广泛应…

flask常见问答题

以下是一些关于 Flask 框架的问答题&#xff0c;供您学习或测试知识点&#xff1a; 基础知识 Flask 是什么&#xff1f;它的主要特点是什么&#xff1f; 答&#xff1a;Flask 是一个基于 Python 的轻量级 Web 框架&#xff0c;其特点是简单、灵活和模块化。 Flask 和 Django …

树莓派pico入坑笔记,SPI使用

关于树莓派pico和circuitpython的更多玩法&#xff0c;请看树莓派pico专栏 uart使用见这篇文章 调用circuitpy的busio模块来使用&#xff0c;除此以外&#xff0c;uart、iic等要需要使用该模块&#xff0c;使用方法见及详细信息见这篇文章 收发数据的格式是字节数组bytearra…