欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 全栈Monorepo开发实战(Vue3+Fastify+Deno+pnpm)/计算机前沿技术丛书
      • 作者:编者:孙浩//于丹|责编:李培培
      • 出版社:机械工业
      • ISBN:9787111733591
      • 出版日期:2023/08/01
      • 页数:304
    • 售价:47.6
  • 内容大纲

        Monorepo是近年来较流行的组织代码仓库的方式。越来越多有影响力的JavaScript/TypeScript开源项目开始使用Monorepo架构管理代码,如Vite、React、Vue 3、Babel、Next.js、Nuxt.js等。每一个新开发的Java Script/TypeScript项目都应该考虑采用Monorepo架构来提高开发效率和代码质量。《全栈Monorepo开发实战(Vue 3+Fastify+Deno+pnpm)》基于pnpm构建了一个完整的报名登记应用来实践这种代码仓库,实现Vite+Vue+Tailwind编写的前端应用、基于Fastify编写的后端应用、基于Deno的函数服务开发和以Prisma为ORM的数据模型设计。本书的应用涉及的TypeScript和JavaScript上下游工具链和框架较为广泛,但是选取的例子较为简单,容易上手,旨在帮助开发者更好地了解各技术栈的特点。
        本书适用于前端开发入门者、计划在自己的项目中实践Monorepo项目的中级前端开发工程师,以及想实践Monorepo技术的计算机专业学生阅读。
  • 作者介绍

  • 目录

    前言
    第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  从框架到框架无关
    第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  创建全局类型收束项目
    第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  函数代理
    第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  发送邮件
    第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进行数据建模
    第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  单元测试
    第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  实现获取用户信息接口
    第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  实现获取活动信息接口
    第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实现网页应用状态层
    第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项目中的定位
    第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
    第12章  开源项目的Monorepo实践
      12.1  开源渐进式JavaScript框架Vue.js
      12.2  新一代前端构建工具Vite
      12.3  island架构框架Astro
      12.4  下一代TypeScript ORM框架prisma