Назад към всички

NodeJS

// Write reliable Node.js avoiding event loop blocking, async pitfalls, ESM gotchas, and memory leaks.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameNodeJS
slugnodejs
version1.0.1
descriptionWrite reliable Node.js avoiding event loop blocking, async pitfalls, ESM gotchas, and memory leaks.
metadata[object Object]

Quick Reference

TopicFile
Callbacks, Promises, async/await, event loopasync.md
CommonJS vs ESM, require vs importmodules.md
Error handling, uncaught exceptionserrors.md
Readable, Writable, Transform, backpressurestreams.md
Memory leaks, event loop blocking, profilingperformance.md
Input validation, dependencies, env varssecurity.md
Jest, Mocha, mocking, integration teststesting.md
npm, package.json, lockfiles, publishingpackages.md

Critical Traps

  • fs.readFileSync blocks entire server — use fs.promises.readFile
  • Unhandled rejection crashes Node 15+ — always .catch() or try/catch
  • process.env values are strings — "3000" not 3000, parseInt needed
  • JSON.parse throws on invalid — wrap in try/catch
  • require() cached — same object, mutations visible everywhere
  • Circular deps return incomplete export — restructure to avoid
  • Event listeners accumulate — removeListener or once()
  • async always returns Promise — even for plain return
  • pipeline() over .pipe() — handles errors and cleanup
  • No __dirname in ESM — use fileURLToPath(import.meta.url)
  • Buffer.from(string) — encoding matters, default UTF-8