莫问天涯路几重,轻衫侧帽且从容。这篇文章主要讲述什么是 Razor,它和 Blazor 有什么关系?相关的知识,希望能为你提供帮助。
Blazor 则开了一点历史的倒车:它把服务端渲染的那套四不像的东西又拉出来了,就是 Razor。
- 第一步依然是相同的,Blazor 依然会把这种四不像脚本语言先转译成一个 C#的类
- 第二步是不同的
- Blazor WebAssembly 会将这个 C#类进一步转译成 WebAssembly 代码跑在浏览器上
- Blazor Server 虽然会在服务端像 ASP .NET 一样直接跑类中的方法,但最终返回给客户端的并不是渲染好的全新的 html+CSS 文档,而是发送更新 UI 的指令
- 把 HTML& CSS 和 C#嵌合在一起,使用上更像是在 HTML& CSS 中嵌 C#,而不像现在的前端框架,在 JS/TS 中嵌 HTML 标签
- 它最终会被转译成一个类。换句话说,Razor 虽然写着像是标记语言,像是在 HTML& CSS 中嵌了一些 C#代码,但实际上它是一个 C#类
?*.cshtml?
?来做脚本文件的后缀,也很好理解嘛,把 html 和 CSharp 结合在一起,叫??*.cshtml?
?是非常河鲤的。最近,特别是在 Blazor 框架下,大概是微软的人觉得用??*.cshtml?
?太土了,所以又启用了一个新的文件后缀,就叫??*.razor?
?,其实就是喵叫了个咪,没有什么本质区别。最重要的要谨记以下两点:
- Razor 是一门四不像语言,在 HTML 中掺 C#
- Razor 文件虽然看起来像是 HTML,但其实是个 C#的类
2. Razor 是怎么被转译成 C#类的?上面我们介绍了什么是 Razor,按常理来说,我们接下来应该介绍 Razor 怎么写,即 Razor 的语法。但我觉得有必要,在讲解 Razor 的语法之前,探究一下 Razor 文件是怎么被转译成一个 C#类 的这个过程。
虽然从框架的使用者的视角来说,并没有必要去了解、理解框架的工作方式,只需要掌握使用方法就行了。但 Razor 太拧巴了,就像上面说的,这是一门四不像的标记语言,如果不了解、理解??它背后的工作原理??,那么 Razor 中很多奇怪的语法、用法,使用者就无法理解。并且当代码出错时,就完全没有调试纠错的思路。
而更要命的是,,使用默认的.Net Core 项目模板创建出来的 BlazorWASM 和 BlazorServer 项目,??如果你回过头去看上一篇文章??我们介绍的项目中的目录与文件明细,会发现很多不明所以的内容(特别是对之前完全不了解.Net 框架的人来说)。所以这里还得先给大家介绍,如何一步步的纯手动的创建一个 Blazor 项目。
所以这个小节有两个主要任务:
- ??介绍如何以最原始的方式创建一个最简单的?? BlazorWASM 项目。
- ??再介绍如何从命令行编译这个项目??,以及编译的过程中都发生了什么,以及最终这个项目是怎么 run 起来的。
【什么是 Razor,它和 Blazor 有什么关系()】
推荐阅读
- nagios安装部署#yyds干货盘点#
- nagiso安装和监控#yyds干货盘点#
- docker 安装tomcat 设置容器开机自启动 并commit构建新的镜像
- kali上安装cobaltstrike
- linux facl设置
- 一种基于知识图谱与内容的推荐算法
- Linux网络服务之部署YUM仓库
- 自动化运维工具之ansible
- PCBLayout跳坑指南——PCB走线角度选择到底该不该90°()