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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Node.js 进阶/课时/综合练习
RawBlame
课时目录12 节

Node.js 进阶

  1. 01Node 进阶概览
  2. 02EventEmitter
  3. 03错误类型与处理
  4. 04语义化版本
  5. 05创建与发布包
  6. 06命令行应用
  7. 07Inquirer 与 prompts
  8. 08chokidar 与热重载
  9. 09模板引擎
  10. 10Node 与数据库
  11. 11glob 与文件模式
  12. 12综合练习

综合练习

写一个 import 脚本 CLI。

40 分钟

综合练习

把本 track 串起来:写一个 track-import CLI——交互或 flag 读入 JSON/CSV,参数校验,可选写入 PostgreSQL 或 MongoDB,支持 dry-run 与 glob 批处理。目标不是功能炫,而是 可测试、可发布、可交接 的 Node 工程实践。

学习目标

  • 独立完成从 nva-intro 到 nva-glob 的交叉引用
  • 实践 semver 发包或 npm link 本地消费
  • 衔接 nodejs-essentials、nestjs-essentials、postgresql-essentials、mongodb-essentials、testing-essentials

任务说明

实现 CLI 包 @you/track-import(名称自定),支持:

track-import run -f data/tracks.json --driver postgres --dry-run
track-import run -f data/*.json --driver mongo
track-import validate -f data/tracks.json

1. 结构与发包(nva-packages、nva-semver)

  • ESM、exports、bin.track-import
  • engines.node >= 20
  • README:安装、env、示例

2. CLI 与交互(nva-cli、nva-prompts)

  • run / validate 子命令
  • 无 TTY 时用 --driver / env,有 TTY 可 prompts 选择 postgres | mongo
  • stderr 日志、stdout 输出 JSON 摘要(行数、错误列表)

3. 错误与事件(nva-events、nva-errors)

  • UserError:非法 slug、缺字段 → exit 1
  • 参数误用 → exit 2
  • 可选:EventEmitter 报告 progress / done 供将来 GUI 用
  • 4. 文件与模板(nva-glob、nva-templates)

    • globby 批处理 data/*.json
    • (选做)Handlebars 生成 import 报告 out/report.md

    5. 数据库(nva-db)

    • postgres:pg + $1 参数化 insert(对齐 pg-ddl 直觉)
    • mongo:insertMany(对齐 mongo-crud)
    • --dry-run 只 parse + validate,不连库

    6. 测试(testing-essentials、node-test)

    • 至少 3 个 node:test:validate 合法/非法 JSON、dry-run 不调用 pool
    • mock 驱动或 stub 模块,避免 CI 强依赖真实 DB

    7. 开发体验(nva-watch)

    • (选做)chokidar 监听 data/,变更 stderr 提示重新 validate

    必走流程

    1. git checkout -b practice/track-import-你的名字
    2. 从 outline 与 nva-intro 对齐 scope
    3. 先 validate + dry-run,再接 DB
    4. node:test 绿后再 npm link 试跑
    5. commit:清晰 message;PR 附 Test plan
    

    自检清单

    • 文档内至少 5 条指向本 track 或关联 track 的 /tracks/... 链接
    • 无 .env、连接串进 Git
    • 我能解释 何时用 CLI 脚本、何时用 nest-db API

    与路线图

    完成后回到 dev / full-stack 路线图,勾选 Node CLI、npm packages、working-with-databases 相关节点。API 层继续 nestjs-essentials;关系型深入 postgresql-essentials,文档库深入 mongodb-essentials。

    小结

    glob 读入、validate 守门、dry-run 安心、驱动写库、测试兜底——Node 进阶的合格 CLI 不过如此。 本 track 完结;日常 API 开发请回到 nodejs-essentials 与 Nest 栈。

    加载本节练习…
    ← 上一课glob 与文件模式