一个面向学习与演示的 TypeScript 教学项目,包含「指南」页面与在线 Playground,聚焦 TypeScript 核心语法与最佳实践,并提供 Vue 3 集成的实时演示。
-
指南导航与章节元信息:覆盖基础类型、接口、类、函数类型、枚举、泛型、工具类型、联合与交叉类型、类型守卫、模板字面量类型等主题
-
交互式示例:每个章节可在 Playground 中打开对应 SFC 文件并运行(支持多文件)
-
动态示例生成:根据路由
slug从src/pages/guideExamples.js返回示例文件映射 -
REPL 集成:使用
@vue/repl+ CodeMirror,无需本地依赖即可运行 TypeScript + Vue 示例 -
动态入口文件:涉及全局初始化的示例通过
main.js启动,其余使用App.vue -
SEO 基础优化:静态 meta(TS 主题)+ 路由级动态
title/description/canonical -
src/pages/Guide.vue:根据路由slug渲染章节信息,并打开 Playground -
src/pages/guideExamples.js:按slug生成示例文件映射(examples/<分类>/<slug>/App.vue) -
src/components/PlayModal.vue:懒加载 Playground 面板对话框 -
src/components/PlaygroundPane.vue:封装 Repl 初始化与 import map 合并 -
templates/typescript/:主题内容(导航、知识点、示例) -
src/router/index.js:路由声明、导航后动态title/description/canonical更新 -
src/main.js:应用入口与路由挂载
- 基础类型、字面量联合、类型断言与非空断言
- 接口与类型别名、类与继承、函数类型、枚举
- 泛型与约束、工具类型(Partial、Pick、Omit、Record 等)
- 联合与交叉类型、类型守卫、模板字面量类型
- 错误解决方案、性能优化、练习项目与框架集成示例
- 开发启动(默认主题):
npm run dev - 生产构建(TypeScript 主题):
npm run build -- typescript - 本地预览(生产包):
npm run preview -- --port 8080
- 安装 PM2(服务器):
npm i -g pm2 - 构建:
npm run build - 启动:
pm2 start ecosystem.config.cjs --env production - 查看状态:
pm2 status/ 日志:pm2 logs vueT - 重载:
pm2 reload vueT/ 停止/删除:pm2 stop vueT/pm2 delete vueT - 开机自启:
pm2 startup && pm2 save
- Playground 中的
hash会序列化当前会话,便于分享与回溯 - 如需新增章节:在
templates/typescript/knowledge/main.js中注册slug,并在templates/typescript/examples/<分类>/<slug>/目录下添加App.vue - 涉及应用初始化的示例需返回
main.js,同时在Guide.vue的mainFile判断列表中加入该slug