全栈Monorepo开发实战:Vue3+Fastify+Deno+pnpm

全栈Monorepo开发实战:Vue3+Fastify+Deno+pnpm

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

资深开发工程师,通过项目实战教你快速上手Monorepo。

内容简介

Monorepo是近年来较流行的组织代码仓库的方式。越来越多有影响力的JavaScript/TypeScript开源项目开始使用Monorepo架构管理代码,如Vite、React、Vue3、Babel、Next.js、Nuxt.js等。每一个新开发的JavaScript/TypeScript项目都应该考虑采用Monorepo架构来提高开发效率和代码质量。

本书基于pnpm构建了一个完整的报名登记应用来实践这种代码仓库,实现Vite+Vue+Tailwind编写的前端应用、基于Fastify编写的后端应用、基于Deno的函数服务开发和以Prisma为ORM的数据模型设计。本书的应用涉及的TypeScript和JavaScript上下游工具链和框架较为广泛,但是选取的例子较为简单,容易上手,旨在帮助开发者更好地了解各技术栈的特点。

本书适用于前端开发入门者、计划在自己的项目中实践Monorepo项目的中级前端开发工程师,以及想实践Monorepo技术的计算机专业学生阅读。

作者简介

编著者孙浩,毕业于北京邮电大学。曾在浪潮任数据挖掘工程师、PingCAP华南区首席解决方案架构师,主导建设了微众银行、华为、平安、顺丰、丰巢等公司的分布式数据库。自创业以来,专注于TypeScript、C#、Kotlin等编程语言,有非常丰富的从0到1的Monorepo项目实战经验。

章节目录

版权信息

内容提要

前言

CHAPTER 1 第1章 Monorepo架构

1.1 代码仓库发展历程

1.1.1 常用的代码组织架构

1.1.2 Single-repo与Monolith

1.1.3 Monorepo≠Monolith

1.1.4 Monorepo的优点

1.1.5 Monorepo的缺点

1.1.6 Monorepo在现实中的应用

1.2 全栈Monorepo的关键设计原则

1.3 全栈开发语言JavaScript和TypeScript

1.3.1 JavaScript的发展历程

1.3.2 TypeScript:从21%到69%

1.3.3 从框架到框架无关

CHAPTER 2 第2章 基于pnpm和TypeScript构建 Monorepo项目

2.1 pnpm简介

2.1.1 高性能的npm

2.1.2 npm、pnpm包管理算法区别

2.1.3 pnpm的核心概念

2.1.4 package.json的配置

2.2 初始化Monorepo的工作空间

2.3 以TypeScript为核心的Monorepo设计

2.3.1 TypeScript简介

2.3.2 安装TypeScript

2.4 安装ESLint和Prettier

2.4.1 使用ESLint检查代码质量

2.4.2 使用Prettier自动格式化代码

2.5 创建全局类型收束项目

CHAPTER 3 第3章 使用Deno构建简单的注册中心

3.1 Deno简介

3.1.1 Deno的特点

3.1.2 Deno包管理

3.2 在Monorepo中引入Deno

3.2.1 安装Deno

3.2.2 Monorepo项目配置Deno

3.3 使用Deno搭建注册中心

3.3.1 健康检查端点

3.3.2 使用localStorage存储状态

3.3.3 注册中心端点

3.3.4 管理界面

3.3.5 在线提供注册函数

3.3.6 测试样例程序

3.3.7 函数代理

CHAPTER 4 第4章 函数服务的实现

4.1 本地文件服务器

4.1.1 使用Deno标准库打印日志

4.1.2 设计和实现文件服务器的服务层

4.1.3 编写文件服务器的Controller层

4.2 基于HTTP的计时器

4.3 实现邮箱服务

4.3.1 邮箱配置

4.3.2 发送邮件

CHAPTER 5 第5章 使用Prisma构建数据模型

5.1 Docker简介

5.2 使用Docker部署MySQL

5.2.1 安装Docker

5.2.2 MySQL环境搭建

5.3 使用Prisma作ORM

5.3.1 Prisma:新一代ORM

5.3.2 Prisma中的事务

5.3.3 在Monorepo中引入Prisma

5.3.4 配置Prisma schema文件

5.3.5 使用Prisma进行数据建模

CHAPTER 6 第6章 以Fastify为核心的服务器设计

6.1 Node.js最快的Web框架Fastify

6.1.1 安装Fastify

6.1.2 Fastify的扩展性

6.1.3 Fastify的日志系统

6.2 JSON Schema校验

6.3 单元测试

CHAPTER 7 第7章 实现用户管理服务

7.1 实现JWT身份验证插件

7.1.1 JWT身份验证简介

7.1.2 使用环境变量

7.1.3 自定义插件

7.2 集成测试

7.3 集成Prisma与Fastify

7.4 实现用户相关接口

7.4.1 实现发送验证码接口

7.4.2 实现用户注册接口

7.4.3 实现用户登录接口

7.4.4 实现获取用户信息接口

CHAPTER 8 第8章 实现活动管理服务

8.1 业务概览

8.2 实现活动管理服务的功能

8.2.1 实现活动发布的流程

8.2.2 实现活动上线接口

8.2.3 实现活动结束接口

8.2.4 实现活动取消接口

8.3 实现用户与活动相关接口

8.3.1 实现用户参与活动接口

8.3.2 实现获取活动信息接口

CHAPTER 9 第9章 实现报名登记应用的前端

9.1 初始化报名登记应用前端项目

9.1.1 Vue简介

9.1.2 Vite:下一代前端开发与构建工具

9.1.3 使用Vite初始化Vue环境

9.2 配置Tailwind环境

9.3 配置Vue Router及规划页面

9.4 报名登记前端应用状态

9.4.1 Pinia:Vue新一代状态管理工具

9.4.2 用Pinia实现网页应用状态层

CHAPTER 10 第10章 报名登记应用页面设计

10.1 实现首页

10.1.1 使用VeeValidate实现表单验证

10.1.2 实现登录卡片与注册卡片

10.2 实现仪表盘页面

10.2.1 实现仪表盘导航栏

10.2.2 实现仪表盘主页

10.2.3 实现活动详情页

10.2.4 实现活动发布页面

10.3 构建工具Rollup、esbuild、Vite、tsup、tsc在Monorepo项目中的定位

CHAPTER 11 第11章 项目的部署、监控与高可用

11.1 使用DockerFile实现后端服务容器化

11.2 Docker Compose工具

11.3 服务监控原理与部署

11.3.1 Prometheus简介

11.3.2 Grafana简介

11.3.3 安装Prometheus与Grafana

11.4 高可用的部署方式

11.4.1 Nginx简介

11.4.2 正向代理和反向代理

11.4.3 部署Nginx

CHAPTER 12 第12章 开源项目的Monorepo 实践

12.1 开源渐进式JavaScript框架Vue.js

12.2 新一代前端构建工具Vite

12.3 island架构框架Astro

12.4 下一代TypeScript ORM框架Prisma

全栈Monorepo开发实战:Vue3+Fastify+Deno+pnpm是2023年由机械工业出版社出版,作者孙浩 编著。

得书感谢您对《全栈Monorepo开发实战:Vue3+Fastify+Deno+pnpm》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Web全栈工程师的自我修养 电子书
本书内容全面,客观务实,适合互联网行业新人、程序员,以及期待技术转型的从业者阅读参考。
鸿蒙应用开发实战 电子书
本书为华为鸿蒙系统HarmonyOS开发图书,以JavaScript为开发语言,提供完整源代码。
ReactNative移动开发实战 电子书
React native入门书籍,打造高品质移动用户体验。
Vue企业开发实战 电子书
《大型电商网站大麦网开发:vue、ES6与Webpack技能结合》
Vulkan开发实战详解 电子书
本书共分为19章,介绍了Vulkan的诞生、特点、开发环境的搭建以及运行机制、渲染管线和调试技术,着色器编程语言—GLSL、投影及各种变换、光照、纹理映射、3D模型的加载、混合与雾、两种测试及片元丢弃、顶点着色器的妙用、片元着色器的妙用、真实光学环境的模拟、阴影及高级光照、几种高级着色器特效、骨骼动画、Vulkan的性能优化等,最后以一个休闲游戏—方块历险记的案例来展示Vulkan的功能与技术。本