脚手架(Scaffold)MOC

前端脚手架构建完整教程,从零开始构建一个可扩展的前端脚手架系统,类似 Vite / create-react-app。

学习路径

  • 📖 入门:脚手架核心概念和基础实现
  • 🚀 进阶:模板系统和插件机制
  • 💡 高级:远程模板支持和发布扩展

学习脚手架前需要掌握 Node.js 基础TypeScript。脚手架与 构建工具工程化实践 密切相关。


🎯 学习目标

完成本知识体系学习后,你将能够:

  • ✅ 理解前端脚手架的核心概念和工作原理
  • ✅ 从零开始构建一个完整的脚手架系统
  • ✅ 实现模板系统(支持多种框架模板)
  • ✅ 实现用户交互和配置选择
  • ✅ 实现插件机制和扩展能力
  • ✅ 发布脚手架到 npm
  • ✅ 支持远程模板下载(GitHub、npm 等)

📚 知识体系(按学习顺序)

阶段一:核心概念(必学)

目标:理解脚手架的基本概念和工作原理

  1. 脚手架核心概念与原理
    • 前端脚手架是什么
    • 运行机制
    • Node CLI 工作原理
    • 文件模板处理
    • 插件架构
    • 扩展机制

阶段二:从零构建(必学)

目标:从零开始构建一个完整的脚手架系统

  1. 从零开始构建脚手架
    • 项目初始化
    • CLI 命令处理(commander / yargs)
    • 用户交互实现(inquirer)
    • 文件生成与目录创建
    • 包管理器兼容(npm / pnpm / yarn)
    • 错误处理和日志系统
    • 完整代码示例

阶段三:模板系统(必学)

目标:实现可扩展的模板系统

  1. 模板系统实现
    • 模板引擎选择(ejs / mustache)
    • 内置模板体系(Vue / React / TS / 工具库)
    • 模板变量注入
    • 动态文件生成
    • 模板配置管理
    • 模板示例(React + TS、Vue + TS 等)

阶段四:高级功能(进阶)

目标:实现高级功能和扩展能力

  1. 插件系统实现

    • 插件架构设计
    • Hook 机制实现
    • 插件注册和加载
    • 插件生命周期
    • 类似 Vite 插件体系的实现
    • 插件开发示例
  2. 远程模板支持

    • GitHub 仓库模板下载
    • npm 包模板支持
    • zip 包模板处理
    • 模板缓存机制
    • 模板更新检查

阶段五:发布与扩展(进阶)

目标:发布脚手架并实现扩展能力

  1. 发布与扩展
    • 发布到 npm 的完整流程
    • 版本管理策略
    • 用户自定义模板支持
    • 配置文件系统
    • Mock 服务器集成
    • 运行时能力(类似 Vite 中间件)
    • 测试和 CI/CD

🎯 核心功能

基础功能

  • my-cli create <project-name> - 自动生成项目目录
  • 模板系统(basic-js、basic-ts、vue、vue-ts、react、react-ts)
  • 用户交互选择(依赖安装、包管理器、Git 初始化、ESLint/Prettier/Husky)
  • 包管理器兼容(npm、pnpm、yarn)

高级功能

  • 插件机制(my-cli plugin add xxx
  • 远程模板支持(GitHub、npm、zip)
  • 模板变量注入
  • 配置文件系统
  • Mock 服务器
  • 运行时能力

📖 学习路径

阶段一:基础入门

目标:理解脚手架概念,搭建第一个简单脚手架

学习顺序

  1. 脚手架核心概念与原理
  2. 从零开始构建脚手架(基础版本)

学习检查点

  • ✅ 理解脚手架的工作原理
  • ✅ 能够创建一个简单的 CLI 工具
  • ✅ 能够生成基础项目结构

阶段二:模板系统

目标:实现完整的模板系统

学习顺序

  1. 模板系统实现
  2. 创建多个框架模板(React、Vue 等)

学习检查点

  • ✅ 能够使用模板引擎生成文件
  • ✅ 能够创建和管理多个模板
  • ✅ 能够处理模板变量注入

阶段三:高级功能

目标:实现插件系统和远程模板

学习顺序

  1. 插件系统实现
  2. 远程模板支持

学习检查点

  • ✅ 能够实现插件机制
  • ✅ 能够支持远程模板下载
  • ✅ 能够处理模板缓存和更新

阶段四:发布与扩展

目标:发布脚手架并实现扩展能力

学习顺序

  1. 发布与扩展
  2. 完善测试和文档

学习检查点

  • ✅ 能够发布脚手架到 npm
  • ✅ 能够实现用户自定义模板
  • ✅ 能够添加 Mock 服务器等扩展功能

🔗 相关链接

前置知识

相关主题


📌 使用说明

目录结构

工程化/
├── 脚手架/
│   ├── !MOC-脚手架.md
│   ├── 01-脚手架核心概念与原理.md
│   ├── 02-从零开始构建脚手架.md
│   ├── 03-模板系统实现.md
│   ├── 04-插件系统实现.md
│   ├── 05-远程模板支持.md
│   └── 06-发布与扩展.md

文件命名规范

  • MOC 文件!MOC-脚手架.md
  • 普通文件:使用数字前缀 + 中划线分隔:01-脚手架核心概念与原理.md

最后更新:2025
维护规范:每次新增笔记后,在对应 MOC 中加入链接


脚手架 前端工程化 CLI工具 Node.js TypeScript