CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
全栈里程碑/课时/CLI 里程碑
RawBlame
课时目录12 节

全栈里程碑

  1. 01全栈学习路径
  2. 02CRUD 里程碑
  3. 03CLI 里程碑
  4. 04前端应用里程碑
  5. 05交互里程碑
  6. 06自动化里程碑
  7. 07协作里程碑
  8. 08基础设施里程碑
  9. 09监控里程碑
  10. 10AWS SES 邮件
  11. 11完整应用里程碑
  12. 12综合练习

CLI 里程碑

checkpoint-cli-apps;Node 脚本与 npm。

30 分钟

CLI 里程碑

命令行程序是后端与运维的「最小可交付单元」:读文件、调 API、批处理图片——无需浏览器。全栈路线图 checkpoint-cli-apps 要求你掌握 argv 解析、fs、HTTP、JSON、npm 第三方库。本课对齐 fullstack-roadmap 对应节点;若主栈是 Java,可用 Picocli + HttpClient 完成等价能力,Node 则是路线图原文示例语言。

学习目标

  • 对照 /roadmaps/full-stack checkpoint-cli-apps,完成至少 一个 官方建议 CLI 项目(爬虫摘要、GitHub 星标、批量重命名或图片压缩)
  • 熟练 process.argv / commander / yargs(或 Java Picocli)与退出码约定
  • 理解 CLI 在自动化链中的位置:本地脚本 → github-actions-essentials → 服务器 docker-essentials 容器内执行

能力清单

Checkpoint 隐含技能:

能力典型 API / 库
读写文件Node fs/promises、Java NIO
解析参数commander、Picocli
HTTP + JSONfetch、GitHub REST
第三方库cheerio、sharp、csv-parse
错误处理try/catch、非零 exit code

项目 idea 1:网页摘要

输入 URL + CSS 选择器,输出匹配元素的文本。cheerio 解析 HTML:

import * as cheerio from "cheerio";

const res = await fetch(url);
const html = await res.text();
const $ = cheerio.load(html);
console.log($(selector).text().trim());

注意:尊重 robots.txt、设置 User-Agent、处理 4xx/5xx。

项目 idea 2:GitHub 星标排行

可选两个日期,调用 GitHub Search API 查该时段高 star 仓库。需 Personal Access Token 提高 rate limit;参数校验日期格式。

项目 idea 3:目录内图片压缩

用 sharp 批量处理,支持 --out 输出目录;无 --out 则原地覆盖前 先备份 或拒绝执行(README 写清)。大目录注意内存与并发限制。

与全栈其他里程碑的关系

  • fsm-crud 的 Todo CLI 偏数据库;本课偏 OS 与外部世界(文件、网络)
  • 脚本可进 CI:例如 PR 时跑 lint CLI,见 github-actions-essentials
  • 生产环境同类逻辑常打进 docker-essentials 镜像的
ENTRYPOINT

工程习惯

  • #!/usr/bin/env node 与 bin 字段,支持 npx 或全局安装
  • --help 自说明;敏感 token 读环境变量,不写进仓库
  • 单元测试可 mock fetch / 临时目录(与 spring-boot-essentials 测试课精神一致)

练习

  • 完成上述四类 idea 之一,README 含示例命令与 sample 输出
  • CLI 对非法参数返回非零退出码与可读 stderr
  • 在 /roadmaps/full-stack 勾选 checkpoint-cli-apps,仓库名小写连字符(如 github-stars-cli)

小结

CLI 里程碑 = 文件 + 参数 + HTTP + 第三方库。 它是自动化与后端脚本的基础。下一课进入 前端应用里程碑,从静态页走向完整浏览器端应用。

加载本节练习…
← 上一课CRUD 里程碑下一课 →前端应用里程碑