栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

从空白文件夹子创建BlazorWebAssembly到独立部署任何后端

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从空白文件夹子创建BlazorWebAssembly到独立部署任何后端

1. 首先,创建一个空白文件夹子,名字就叫BlazorWasmFromscript吧。

2. 决定用vscode来撸代码。用vscode打开新创建的文件夹子。

 3. 为了让空白文件夹子变成真正的C#项目,需要创建一个.csproj文件。

 添加了两包依赖。第一个包Microsoft.AspNetCore.Components.WebAssembly是开发WebAssembly必备的,而第二个包是一个前端开发服务器,可以方便代码调试。

写好这些,关闭文件夹子,再重新打开,vscode的C#插件语言服务会帮助我们restore所有需要的依赖,于是,文件夹成功变成C#项目。

4. 既然是前端,先创建一个wwwroot文件夹吧。然后创建一个index.html文件,作为前端项目的入口文件。

一切都很寻常,只有一点,src里引入了blazor.webassembly.js文件,这个是blazor的框架文件,不用担心这个从哪来的,最终编译时,微软dotnet脚手架工具会为我们解决。 

5. 好啦,开始编写Blazor文件吧。

喜闻乐见,先来一个Counter.razor。默认都放在Pages文件夹子下吧。

注意上面有给using,这个包不能少了,不然编译不了.razor文件中的C#代码,最终编译出来的产品,看上去能打开,各种按钮啥的就都不管用的,因为没有逻辑。

6. 有了Counter.razor了,怎么调用这个呢。

和其他前端单页应用一样,需要挂载到index.html上。

回到index.html,添加一个div,id设为“counter”,准备直接把我们的Counter.razor挂载到这里。

中间可以写的Loading,这样,当挂载进行中时,就有个Loading,看上去不错。

 

7. 怎么把Counter.razor与这个id是counter的div标签挂接上呢。

挂接上面两者,与配置开发测试服务器,两个事情合二为一。

创建Program.cs文件。

 

这样,我们的Counter.razor就被挂载到了index.html的上面了,与此同时,我们有了一个测试服务器,进入命令行,dotnet run,检验一下。

 

 一切正常!

8. 编译成可以独立部署的静态文件

现在都流行前后端分离,Blazor作为基于webassembly的前端开发框架,能否像其他js前端框架一样,编译成静态文件,部署到各种后端项目上去呢?当然可以的。

我们现在来编译一下,用dotnet命令行,键入一下命令。

 

dotnet publish是基础命令。

-c后面跟Release或者Debug。

-r后面跟browser-wasm,代表目标运行时,我们的目标,就是浏览器中的webassembly。

-f后面跟着.net框架版本,用最新的,别犹豫。

--self-contained代表自包含,也就是把需要的依赖都包进去。

-o后面是输出目录,自己找个合适的地方就行了。

编译结束,查看产出。一个wwwroot文件夹,一个web.config。web.config用不上,wwwroot里面就是我们需要的静态文件了。

 9. 部署到springboot的后端项目上。

其实部署到什么上都行,最好还是部署到asp.net core后端项目上,但是为了表明我们的编译产品的独立性,来试试放到springboot里行不行。

简单搞一下,不需要什么配置,创建一个springboot项目,就加一个spring-boot-starter-web依赖就够了。

把wwwroot里面的东西,直接拷贝到springboot项目的resources/static文件夹子里,其他的什么都不用配置,直接启动springboot吧。

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号