学习MASA第一天:MASA Blazor TEST项目创建

学习,masa,第一天,blazor,test,项目,创建 · 浏览次数 : 84

小编点评

**MASA第一天学习指南** **步骤一:下载框架代码** * 从 GitHub 上下载 Masa.Blazor 项目的代码:`git clone -r masabp/Masa.Blazor.git` **步骤二:创建测试项目** * 创建一个新的测试项目: * 创建一个新文件名为 `TestBlazor.cs`。 * 在 `TestBlazor.cs` 中添加以下代码: ```csharp using Masa.Blazor.Core; using Masa.Blazor.Pages; namespace Masa.TestBlazor { public class TestBlazor : PageComponent { // 页面成员变量 private NavigationManager Navigation { get; set; } protected override void OnInitialized() { Navigation.NavigateTo(Navigation.BaseUri); } } } ``` **步骤三:安装依赖项** * 在 `Microsoft.Extensions.DependencyInjection` 中添加以下依赖项: ```csharp .NET SDK 6.0 .NET Blazor .NET Wasm ``` **步骤四:运行测试项目** * 启动测试项目: * 使用 `dotnet run` 命令运行测试项目。 * 运行时会提醒您安装 SSL 证书。 * 浏览器将显示页面,其中页面使用 Razor 语法编写。 **步骤五:登录页面** * 确保您已在 Google Chrome 中打开 Edge浏览器。 * 使用以下 URL 在地址栏中打开页面:`/pages/authentication/Login-v2` * 输入您的用户名和密码,并点击登录按钮。 **注意:** * 在登录页面中,您可能需要填写一些个人信息,例如用户名和密码。 * 您可以通过 `Navigation.NavigateTo` 方法实现页面跳转。 * 您可以通过 `PageComponent` 的 `OnInitialized` 方法在页面加载后执行一些操作。

正文

学习MASA第一天:MASA Blazor TEST项目创建

从今天开始,学习MASA框架,目标是基于MASA做一套开源项目。

第一天,从下载源码开始![443684122256924]

我们今天先把框架源码下载下来,以便后面每天的学习和对照。
源码地址:Masa.Blazor
源码我们后面再看,先跟着github上的readme,快速上手,创建测试项目

创建测试项目

开发环境搭建
安装.NET SDK 6.0
安装Visual Studio Code或Visual Studio 2022
对应的环境我们都有,继续

CLI
Install Template

dotnet new --install Masa.Template

我们跟着这一步,安装依赖

Create Project

dotnet new masabp -o Masa.Test

Blazor WebAssembly

dotnet new masabp --mode Wasm -o Masa.TestWasm

Blazor RCL

dotnet new masabp --mode ServerAndWasm -o Masa.TestRcl

Go to the Server project directory

cd Masa.Test\Masa.Test.Server

Run

dotnet run

ok,test项目启动成功,运行时系统会提醒安装ssl证书,一直同意就可以。
不过谷歌浏览器提示:您的连接不是私密连接
解决办法:用Edge浏览器打开。

运行结果:
masatest项目运行截图

页面都是用raror写的,现在看起来还挺费劲的,对照代码,看看登录页的实现

登录页页面:
登录页

代码部分:

@page "/pages/authentication/Login-v2"
@layout EmptyLayout
<MRow Class="max-height ma-0">
    <MCol Md=4 Sm=12 Class="neutral-lighten-5">
        <image class="ml-12 mt-12" style="height:40px;"
            src="https://cdn.masastack.com/stack/images/logo/MASAStack/logo-h-en.png?x-oss-process=image/resize,w_200">
        </image>
        <div class="d-flex pb-12" style="height: calc(100% - 88px);">
            <div style="width:450px;" class="ma-auto">
                <h3 class="neutral-lighten-1--text">让变化更简单</h3>
                <div class="mt-12 neutral-lighten-1--text">
                    让变化更简单,让视觉更美好,让体验更丰富,欢迎来到Masa产品系列。
                </div>
                <image class="mt-12" src="/img/login/left.svg"></image>
            </div>
        </div>
    </MCol>
    <MCol Md=8 Sm=12 Class="fill-lighten-1 block-center">
        <Masa.Test.Pages.Authentication.Components.Login HideLogo Elevation="0" Width="500"
            CreateAccountRoute="pages/authentication/register-v2"
            ForgotPasswordRoute="pages/authentication/forgot-password-v2">
        </Masa.Test.Pages.Authentication.Components.Login>
    </MCol>
</MRow>

<a href="https://beian.miit.gov.cn/" target="_blank" class="neutral-lighten-3--text"
    style="position:absolute;bottom:48px;margin-left:63%;text-decoration:none;font-size:14px;">浙ICP备2021013592号-1</a>


@code {
    [Inject]
    public NavigationManager Navigation { get; set; } = default!;

    public void Login(MouseEventArgs args)
    {
        Navigation.NavigateTo(Navigation.BaseUri);
    }
}

其中关于Navigation.NavigateTo 的用法,我问了chatgpt,给出的答案是:
chatgpt回答

可见test项目中大部分的页面只是实现了跳转,没有实现对逻辑上的基本判断。
不过demo项目已经给我们展示了masa团队在项目管理系统框架上的内容是相当丰富的,页面UI也很符合企业的审美。
转眼已经十一点半了,时候不早了,我们明天继续。明天继续学习masa。
明天的目标,跟着文档实现本地开发。

阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top
拥抱ChatGPT:https://ai.terramours.site
开源项目地址:https://github.com/firstsaofan/TerraMours

与学习MASA第一天:MASA Blazor TEST项目创建相似的内容:

学习MASA第一天:MASA Blazor TEST项目创建

学习MASA第一天:MASA Blazor TEST项目创建 从今天开始,学习MASA框架,目标是基于MASA做一套开源项目。 第一天,从下载源码开始![443684122256924] 我们今天先把框架源码下载下来,以便后面每天的学习和对照。 源码地址:Masa.Blazor 源码我们后面再看,先

学习MASA第二天:框架分析

学习MASA第二天:框架分析 今天主要是看了下 MASA Team 的github,目的是对未来设计开源框架选型。对于目前比较火的国内masa framework。当然是首当其冲是要用一用的。 masa framework 地址:MASA.Framework 构思开源框架可行性方案 目前看,用mas

学习.NET 8 MiniApis入门

介绍篇 什么是MiniApis? MiniApis的特点和优势 MiniApis的应用场景 环境搭建 系统要求 安装MiniApis 配置开发环境 基础概念 MiniApis架构概述 关键术语解释(如Endpoint、Handler等) MiniApis与其他API框架的对比 第一个MiniApis

yolov1-yolov5 网络结构&正负样本筛选&损失计算

学习yolo系列,最重要的,最核心的就是网络模型、正负样本匹配、损失函数等三个方面。本篇汇总了yolov1-yolov5等5个版本的相关知识点,主要看点是在yolo框架搭建。初学者可以通过相关篇章搭建自己的知识点框架,然后再深入各个知识点,就像攻克一个又一个山头。当大部分的知识点都了然于胸,yolo...

【内存管理】页面分配机制

前言 Linux内核中是如何分配出页面的,如果我们站在CPU的角度去看这个问题,CPU能分配出来的页面是以物理页面为单位的。也就是我们计算机中常讲的分页机制。本文就看下Linux内核是如何管理,释放和分配这些物理页面的。 伙伴算法 伙伴系统的定义 大家都知道,Linux内核的页面分配器的基本算法是基

【操作系统】页表映射

页表的一些术语 现在Linux内核中支持四级页表的映射,我们先看下内核中关于页表的一些术语: 全局目录项,PGD(Page Global Directory) 上级目录项,PUD(Page Upper Directory) 中间目录项,PMD(Page Middle Directory) 页表项,(

【简写Mybatis-02】注册机的实现以及SqlSession处理

学习源码一定一定不要太关注代码的编写,而是注意代码实现思想:通过设问方式来体现代码中的思想;方法:5W+1H

Android Media Framework(一)OpenMAX Spec阅读与框架简介

学习开源代码最快的方式是先阅读它的文档,再查看它的头文件,最后研读代码实现并进行编译调试。Android早期引入OpenMAX IL作为使用音视频编解码器的标准接口,了解Android Media框架的底层运行原理要从OMX IL开始。在这一节,我们将阅读整理OpenMAX IL Spec中的介绍和

【操作系统】内存管理概述

目录内存管理硬件结构早期内存的使用方法分段分页逻辑地址,线性地址(intel架构)虚拟地址物理地址结构图虚拟地址到物理地址的转换内存管理总览系统调用vm_area_struct缺页中断伙伴系统slab分配器页面回收反向映射KSMhuge page页迁移内存规整OOM内存管理的一些数据结构线性映射st

【学习笔记】基础算法:二次离线莫队/回滚莫队

【学习笔记】基础算法:二次离线莫队/回滚莫队 二次离线莫队 前置知识:莫队 前置知识:值域分块 值域分块,就是对 \(A\) 的值域进行分块,每个块维护该值域内数的个数 众所周知,莫队的复杂度是 \(O(n \sqrt m)\) 的,而在维护一些问题时左右端点移动一格并不是 \(\mathcal O