问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Rust-前端 Yew CSR的实战小结

发布网友 发布时间:2024-10-24 09:24

我来回答

1个回答

热心网友 时间:2024-10-25 14:43

一个月前,我着手构建了一个山寨版的Auth2蓝图,经过一系列的尝试和调整,流程最终得以顺利运行。在这一过程中,Yew的0.21版本的发布,为我提供了坚实的支持,使我更加坚信Yew的可靠性和适用性。

Yew的开发模式分为SSR和CSR两种,我在这两种模式中均有实践。目前我采用CSR模式。撰写本文的目的是分享在实际项目开发中所遇到的关键步骤及解决策略。

项目采用trunk进行打包,因此首先需要安装trunk命令。配置文件Cargo.toml.env用于在编译时读取dotenv_codegen函数,将配置值写入代码中。在后续的config.rs文件中,我们导出这些值,以供项目使用。

Trunk.toml文件用于配置trunk的行为,尽管并非必需,但对打包流程至关重要。index.html作为浏览器端的入口文件,trunk打包命令会根据data-trunk属性生成相关代码。

main.rs模块包含了项目的基本结构设计。config.rs文件用于项目配置,主要将.env文件中的值在编译时写入到文件中。同时,我们利用thiserror::Error将错误转换成MyError,再进一步转换为yew::html::RenderError,以实现错误信息的统一输出。

errors.rs文件中,我们通过"?"语法糖轻松处理各种错误。关于错误处理的具体实现,可以参考之前的文章。

result.rs文件定义了项目内部使用的Result类型别名,MyError作为错误类型的使用,提供了灵活的错误管理机制。models.rs文件中,我们定义了与API交互的类型以及其他在逻辑处理中可能需要的类型,几乎所有的序列化和反序列化需求都依赖于serde库。

services.rs文件中,我们调用API时进行参数的序列化与返回值的反序列化,同时利用"?"语法糖进行错误处理。utils.rs文件提供了一组工具函数,其中panic_if_err用于处理spawn_local中的错误情况,app.rs文件为项目的中心,与react代码类似,但在Yew中,我们更关注于特定的功能点。

对于项目的调试和打包,我们使用了dev.sh和build-release.sh脚本。此文档将随项目的进展持续更新,目前所实现的功能较为基础,欢迎留言交流。

项目源代码已放置在git目录中,欢迎关注我的Rust-项目开发实战专栏,以便获取最新更新。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿歌祖国妈妈我爱你是谁写的汇总28句 为什么有的人学几何很厉害数学却不行 一个人数学几何好,但是其他计算方面的都马马虎虎,那么说明这个人怎么... 数学几何好的人,就是一道几何题很快就能想出来的人是不很聪明?这能练... 固安尚城国际怎么样 驾驶员咨询服务营业执照经营范围怎么写 驾校属于什么经营范围 核桃粉保质期多长时间 亿生康宝筋骨冷敷凝胶只在国内销售吗? 清河镇概况 人力资源公司 可否代购社保 现在身上没钱 但是想学习放疗技术 请问在美容院做学徒可以学到芳香疗... 为什么我把FM足球经理2008放到另一台电脑上,说找不着游戏光碟?(我是用... ...瘤病人“我的家人”在同一家医院手术后又去放疗科放化疗结束后,医生... 什么叫复牌股 您好,我大专专业是放疗,现在想考放疗技师证,请问代码是388吗?什么时候... 我是学医的女生,想考肿瘤专业,不知道什么学校比较容易考?最好是辽宁... 电视墙造型种类 如何和宝宝进行游戏互动? 中国举行阅兵仪式对国防基金股票会涨吗 我是18岁男生,喜欢光膀子还喜欢赤脚走路,有时天冷也只穿短裤出门,觉得... 福康好太太吸油烟机怎么安装 ...很流行的一种胎教方式,可以跟肚子里的孩子一起做哪些游戏? 如何在html取得process.env 山东省社会保险费专用收款票据到哪里办理? 社保支票是什么 四川社保缴费票据样式包括什么? 什么是社会保险缴费凭证 安溪铁观音茶叶历史 三道曲道不尽安溪铁观音茶文化 ...效果器,均衡。器,前级功放,无线话筒怎么按顺序连接... 最近有COS展或是漫展吗?哪里能查到 上海大前门烟哪里能买到,价格怎么样,硬的好抽,还是软的好抽 我们刚买的房子,买后才知道我们楼东侧是医院的肿瘤放疗科室。对此我们... 想学习物理治疗师相关课程并考证,非医学专业。怎么起步呢? 千千静听里面的均衡器怎么调? 分享几款非常流行的电视背景墙效果图 快看看你喜欢哪个 问个有关fm2008的问题 2008年5月之后成都的cosplay活动或者漫展~~~ 放射影像技术工作设想 什么牌子的男泳衣好? 本科读的影像学,想考放疗研究生哪些学校可以报名呢? 漫展最火的女菩萨COS,谁看了不腿软想磕头? fm2008玩不了啊!!! 闪光灯拍摄人像功率怎么合适 什么叫复牌股 我去药店用社保卡买了补品,没出发票,后来让朋友去弄,结果搞回来一张医院... 义兴县义兴县 深圳社保卡就医先付费了以后可以在凭医院开的发票报销吗? 玩cos的,泰国男生,好像14岁或15岁,在重庆会展中心参加过漫展(13年或...