惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 阿新

用 AI Vibe Coding - word-cards 自部署 TTS + Vercel 部署实践 用 GPT-5.2 Vibe Coding,做了一个可以“玩”的人脸相似度应用 用AI开发AI翻译助手:初学者也能轻松做出第一个应用 数字产品护照 (DPP) 解决方案:利用 Blazor 和区块链实现产品全生命周期追踪 Blazor Server完美实现Cookie Authorization and Authentication Blazor技术开发了一个访客管理系统 分享刚出炉的基于Blazor技术的Web应用开发框架 基于PaddleOCR实现AI发票识别的Asp.net Core应用 Clean Architecture For RazorPage 实现多语言和本地化 Workflow Core + asp.net core 5.0 实现简单审批工作流 GitHub自动化部署(CD) asp.net core 5.0 项目(免费空间) CleanArchitecture Application代码生成插件-让程序员告别CURD Ctrl+C Ctrl+V 一个遵循CleanArchitecture原则的Asp.net core轻量级开源项目 分享我的CleanArchitecture for Razor Page项目模板 asp.net core 实现 face recognition 使用 tensorflowjs(源代码) fastreport-使用JSON做为数据源报表 分享我的第一个RPA练习 完美解决asp.net core 3.1 两个AuthenticationScheme(cookie,jwt)共存在一个项目中 基于领域驱动设计(DDD)超轻量级快速开发架构(二)动态linq查询的实现方式
使用Blazor WebAssembly整合PocketBase的基础项目模板
阿新 · 2024-06-13 · via 博客园 - 阿新

使用Blazor WebAssembly整合PocketBase的基础项目模板

在这篇博客文章中,我们将探讨如何创建一个集成PocketBase的基础Blazor WebAssembly项目。我们将涵盖用户身份验证、注册和密码找回功能。我们的项目使用PocketBaseClient,这是一个动态生成CRUD代码的CLI工具。这个项目模板非常适合初学者,因为它简单易懂,是快速启动小项目的绝佳方式。此外,部署Blazor WebAssembly项目非常方便,可以部署到任何环境,也支持Docker容器。

您可以在 GitHub 上找到这个项目的完整源代码。




Demo: https://blazorpocket.blazorserver.com

入门指南

在深入代码之前,让我们简要介绍一下我们将使用的工具和技术:

  • Blazor WebAssembly:一个用于使用C#构建交互式Web应用程序的框架。
  • PocketBase:一个开源的后端解决方案,提供用户身份验证、实时数据库功能等。
  • PocketBaseClient:一个CLI工具,用于连接PocketBase并动态生成CRUD操作代码。

先决条件

要跟随本教程,请确保您已安装以下内容:

设置PocketBase

首先,设置我们的PocketBase服务器。下载并安装PocketBase,然后启动服务器:

./pocketbase serve

http://localhost:8090/_/访问PocketBase管理员仪表板,并设置您的初始管理员用户。

创建Blazor WebAssembly项目

使用.NET CLI创建一个新的Blazor WebAssembly项目:

dotnet new blazorwasm -o BlazorPocketBaseApp
cd BlazorPocketBaseApp

集成PocketBaseClient

使用.NET CLI安装PocketBaseClient:

dotnet add package PocketBaseClient

接下来,为您的PocketBase集合生成CRUD代码。在项目目录中运行:

pocketbase-client generate --url http://localhost:8090 --output ./PocketBaseClient

此命令连接到您的PocketBase服务器,并生成与您的集合交互所需的代码。

实现用户身份验证

让我们实现用户身份验证,包括登录、注册和密码找回。首先创建一个服务与PocketBase进行交互:

登录组件

创建一个Login.razor组件:

配置依赖注入

Program.cs文件中注册PocketBaseService

builder.Services.AddSingleton(new PocketBaseService("http://localhost:8090"));

运行应用程序

运行您的Blazor WebAssembly项目:

dotnet run

在浏览器中导航到应用程序。您应该看到登录、注册和密码找回页面。

部署应用程序

部署Blazor WebAssembly应用程序很简单。您可以部署到各种托管提供商,或使用Docker进行容器化。

Docker部署

在项目根目录创建一个Dockerfile

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["BlazorPocketBaseApp.csproj", "."]
RUN dotnet restore "BlazorPocketBaseApp.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "BlazorPocketBaseApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "BlazorPocketBaseApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "BlazorPocketBaseApp.dll"]

构建并运行Docker容器:

docker build -t blazor-pocketbase-app .
docker run -d -p 8080:80 blazor-pocketbase-app

您的应用程序将在http://localhost:8080可访问。

结论

在这篇博客文章中,我们创建了一个集成PocketBase的基础Blazor WebAssembly项目,涵盖了用户身份验证、注册和密码找回功能。我们还探讨了如何使用Docker部署应用程序。这个模板提供了构建更复杂应用程序的坚实基础,可以轻松扩展以满足各种项目需求。

您可以在 GitHub 上找到这个项目的完整源代码。

请随意探索和修改代码以适应您的特定需求。祝您编码愉快!