打造开箱即用的 Web3 前端脚手架

在 web3 的学习和开发过程中,我们经常需要创建前端项目来与链上数据进行交互。在每次开发之前,我们需要进行技术选型、确定技术方案、安装前端脚手架、配置项目依赖等一系列工作。

在经历过若干项目开发和迭代后,我逐渐形成了自己的一套最佳实践,并将其集成为一个前端脚手架模板项目 web3-frontend-template。有了该脚手架,可一键生成一个开箱即用的 web3 前端项目模板,在此基础上可直接进行业务逻辑开发,无需再重复这些繁琐的准备工作。今天在此做一个简单的介绍,希望能对大家有所帮助。

框架的选择

虽然目前前端领域有三大主流框架(ReactVueAngular),然而在 web3 领域中,React 是一家独大。鉴于其在 web3 前端领域不可替代的地位,毫无疑问地选用了 React 作为前端框架。

进一步地,由于 Next.js 的官方背景、支持 SSR 以及与 Vercel 丝滑的集成体验,我最终选择了使用 Next.js 作为前端基础脚手架进行开发。

样式与 UI 库

推荐使用 TailwindCSS 管理 CSS 样式,它是一款移动端优先的原子化CSS框架。内置了多个标准化的CSS样式,具有高度可定制化的特点。习惯了传统 CSS 开发的同学刚开始上手可能会觉得有些门槛和反人类,但用久了之后感觉开发效率大大提高,组件复用也变得非常方便。

如下示例,使用普通 CSS 开发,我们需要写很多 CSS 样式。而使用 TailwindCSS,我们只要一行 class 就够了。

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
    Tailwind 按钮
</button>
<button class="css-button">
    普通 CSS 按钮
</button>

<!-- 普通 CSS -->
<style>
.css-button { 
    background-color: #3b82f6; 
    color: white; 
    font-weight: bold; 
    padding: 8px 16px; 
    border-radius: 4px; 
    border: none; 
    cursor: pointer; 
}
.css-button:hover { 
    background-color: #1d4ed8;
}
</style>

鉴于我们同时使用了 Next.js 和 TailwindCSS ,UI 库很自然地选择使用 NextUI 。它提供众多封装好的 UI 组件,完美兼容 Next.js ,并且使用 TailwindCSS 作为其样式引擎,因此你可以在 NextUI 组件中使用所有 TailwindCSS 类,非常方便个性化样式的修改和定制,同时也确保最佳的编译效果。

image.png

连接钱包

连接钱包按钮是链接 web3 与前端的桥梁。同样有很多第三方库可供我们选择,比如rabinbowkitweb3modalantd-web3 等。这里根据我日常使用习惯,选择了rabinbowkit 。你也可以选择你喜欢的库来完成这部分工作。

image.png

链上交互

EVM 生态中,为前端提供链上交互功能的库有web3.js 、ethersjsviem 等。其中 viem 后来居上,代码体积更小且性能更好。尤其是在 React 生态中,我们可以使用基于 viem 开发的 wagmi 库,通过 hooks 的方式来完成很多链上交互操作,降低了上手难度,也使得代码更加清晰和简洁。

其他

  • 使用了 react-hot-toast 管理弹出消息提示,方便好用且可定制。

    image.png

  • 使用了 Lucide 管理 icons,图标资源丰富,配合 React 使用非常丝滑。

    image.png

  • 使用了 clsx 管理动态的 className。

    image.png

使用方法

  1. git clone git@github.com:ymjrcc/web3-frontend-template.git ,或打开 github 链接,使用右上角绿色按钮的“Use this template”。

    image.png

  2. 进入本地仓库根目录,pnpm install 安装依赖。
  3. pnpm dev
  4. 浏览器打开http://localhost:3000,就可以开始愉快地开发了。

该脚手架模板已部署到 Vercel:https://web3-frontend-template.vercel.app/ ,欢迎大家使用体验。

本文就此结束了,了解更多相关的知识和解答,可以在这里哦!!!https://t.me/gtokentool
 

image.png

Vue 3是一个流行的JavaScript框架,特别适合构建用户界面,包括后台管理界面。Vue 3的开箱即用特性体现在以下几个方面: 1. **轻量级**: Vue 3的核心库相对较小,易于安装和集成到现有项目中,提高了开发效率。 2. **组件化**: Vue 3提供了组件化的开发模式,你可以创建独立、可复用的模块,如表单、导航栏、数据列表等,方便后台管理页面的设计和维护。 3. **指令与API**: Vue 3提供了诸如v-model、v-bind、v-if、v-for等指令,以及响应式系统,使得数据绑定和状态管理变得简单。 4. **TypeScript支持**: Vue 3官方提供了TypeScript支持,这使得类型检查和代码质量提升成为可能。 5. **Composition API** 或 **Options API**: Vue 3提供了两种主要的编程模型供选择,Composition API更现代化,而Options API则更为传统。根据开发者喜好和项目需求选择合适的方式。 6. **Vuex for state management**: 用于管理应用状态,尤其在复杂的后台管理系统中,可以帮助你更好地组织和共享状态。 7. **Vue Router**: 响应式的前端路由解决方案,用于管理页面之间的导航。 8. **axios或Vuex-HTTP**: 可以方便地与后端API交互,获取和发送数据。 要快速搭建一个Vue 3的后台管理界面,你可以: 1. 安装Vue CLI: `npm install -g @vue/cli` 2. 创建新项目: `vue create my-backend` 3. 选择Vue 3选项: 在脚手架配置时选择使用Vue 3 4. 配置路由和状态管理 (如果使用 Vuex) 5. 使用UI库(如Element Plus或Vuetify)构建界面 6. 实现CRUD功能和数据请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值