当前位置: 首页 > news >正文

.NET Core 8 Blazor 和 Vue 3 技术构建网

以下是一个可行的解决方案,能够满足使用 .NET Core 8 Blazor 和 Vue 3 技术构建网站,并且将前后端代码放在一个站点中,实现一次发布部署的目标。


解决方案概述

  1. 技术栈选择

    • 后端:.NET Core 8 Blazor Server 或 Blazor WebAssembly。

    • 前端:Vue 3(用于前后端分离的部分)。

    • 部署:将 Vue 3 构建后的静态文件嵌入到 .NET Core 项目中,最终发布为一个站点。

  2. 项目结构

    • 将 Vue 3 项目作为 .NET Core 项目的一部分,放在一个解决方案中。

    • Vue 3 项目负责前后端分离的部分,Blazor 负责其他页面或功能。

  3. 开发流程

    • 开发时,Vue 3 项目独立运行,通过 API 与 .NET Core 后端交互。

    • 部署时,将 Vue 3 构建后的静态文件嵌入到 .NET Core 项目中。

  4. 部署流程

    • 使用 .NET Core 的发布命令,将整个站点(包括 Vue 3 的静态文件)打包发布。


详细步骤

1. 创建 .NET Core 8 Blazor 项目

使用 Visual Studio 或命令行工具创建一个 .NET Core 8 Blazor 项目。

  • 如果是 Blazor Server:

    dotnet new blazorserver -n MyBlazorApp
  • 如果是 Blazor WebAssembly:

     
    dotnet new blazorwasm -n MyBlazorApp
2. 创建 Vue 3 项目

在 .NET Core 项目的根目录下创建一个 Vue 3 项目。

  • 进入 .NET Core 项目目录:

     
    cd MyBlazorApp
  • 创建 Vue 3 项目:

     
    npm create vue@latest

    按照提示完成 Vue 3 项目的初始化。

3. 配置 Vue 3 项目
  • 修改 Vue 3 项目的 vite.config.js 或 vue.config.js,确保构建输出目录为 .NET Core 项目的 wwwroot 目录。
    例如:

    javascript

    export default defineConfig({build: {outDir: '../wwwroot/vue', // 将构建输出到 .NET Core 的 wwwroot/vue 目录},
    });
4. 配置 .NET Core 项目
  • 在 .NET Core 项目中,修改 Program.cs 或 Startup.cs,确保能够正确加载 Vue 3 的静态文件。
    例如:

    csharp

    app.UseStaticFiles(); // 启用静态文件支持
  • 在 wwwroot 目录下创建一个 vue 文件夹,用于存放 Vue 3 构建后的静态文件。

5. 开发时运行
  • 开发时,Vue 3 项目独立运行,通过 API 与 .NET Core 后端交互。

    • 启动 .NET Core 项目:

      dotnet run
    • 启动 Vue 3 项目:

      npm run dev
6. 构建和部署
  • 在发布时,先构建 Vue 3 项目,然后将构建后的文件复制到 .NET Core 项目的 wwwroot/vue 目录。

    • 构建 Vue 3 项目:

      npm run build
    • 构建 .NET Core 项目:

      dotnet publish -c Release -o ./publish
  • 最终发布的 publish 目录将包含 .NET Core 后端和 Vue 3 前端的完整站点。

7. 部署到服务器
  • 将 publish 目录中的内容部署到服务器(例如 IIS、Nginx 或 Kestrel)。

  • 确保服务器配置正确,能够处理静态文件和 API 请求。


项目结构示例

复制

MyBlazorApp/
├── Client/                  # Vue 3 项目
│   ├── src/
│   ├── public/
│   ├── package.json
│   └── vite.config.js
├── wwwroot/                 # .NET Core 静态文件目录
│   └── vue/                 # Vue 3 构建后的静态文件
├── Pages/                   # Blazor 页面
├── Program.cs               # .NET Core 启动文件
├── MyBlazorApp.csproj       # .NET Core 项目文件
└── ...

注意事项

  1. API 交互

    • Vue 3 项目通过 API 与 .NET Core 后端交互。确保 .NET Core 项目中定义了所需的 API 接口。

  2. 路由冲突

    • 如果 Blazor 和 Vue 3 都使用了前端路由,需要确保路由不会冲突。可以通过 URL 前缀区分(例如 /vue/* 由 Vue 处理,其他由 Blazor 处理)。

  3. 静态文件缓存

    • 在部署时,确保静态文件(如 Vue 3 的 JS 文件)的缓存策略正确,避免浏览器缓存旧版本。

  4. 开发效率

    • 开发时,Vue 3 项目可以独立运行,通过代理与 .NET Core 后端交互,提高开发效率。


总结

通过以上方案,你可以将 .NET Core 8 Blazor 和 Vue 3 技术结合,构建一个前后端代码都在一个站点中的网站。开发时,Vue 3 项目独立运行;部署时,Vue 3 的静态文件嵌入到 .NET Core 项目中,实现一次发布部署的目标。


http://www.mrgr.cn/news/89948.html

相关文章:

  • 【算法】动态规划专题⑧ —— 分组背包问题 python
  • sentinel的限流原理
  • 计算机网络 应用层 笔记1(C/S模型,P2P模型,FTP协议)
  • 【Gitlab】虚拟机硬盘文件丢失,通过xx-flat.vmdk恢复方法
  • 用NeuralProphet预测股价:AI金融新利器(附源码)
  • 基础相对薄弱怎么考研
  • 微信小程序案例2——天气微信小程序(学会绑定数据)
  • Vite+TS项目中配置路径别名
  • OC-Block
  • 构建Ubuntu unminimized的docker镜像
  • 【前端】打造自己的hexo博客_hexo一本通
  • 使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
  • Vite 打包原理
  • 【11天从零基础入门flask】第 6 章:模板优化
  • 激活函数篇 03 —— ReLU、LeakyReLU、ELU
  • 程序员也可以这样赚钱
  • Vite 为什么快,是怎么打包的
  • sqli-lab靶场学习(五)——Less15-17(post方法盲注、修改密码)
  • 深度剖析 Redisson 分布式锁:原理、实现与应用实践
  • mysql 学习11 事务,事务简介,事务操作,事务四大特性,并发事务问题,事务隔离级别
  • 深入探究 C++17 std::is_invocable
  • 计算机毕业设计Tensorflow+LSTM空气质量监测及预测系统 天气预测系统 Spark Hadoop 深度学习 机器学习 人工智能
  • 虚拟局域网之详解(Detailed Explanation of Virtual Local Area Network)
  • 参数映射服务完整解决方案
  • A股level2高频数据分析20250205
  • STC51案例操作