typescript-node-expert
编写严格的 TypeScript 代码
构建没有严格类型的 TypeScript 项目会导致错误和维护问题。本技能提供严格的 TypeScript 配置、异步模式和性能最佳实践方面的专家指导,帮助您构建生产就绪的 Node.js 应用程序。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“typescript-node-expert”。 Write a function to process a large JSON file efficiently
预期结果:
- 使用 createReadStream 和 pipeline 进行流式处理,避免将整个文件加载到内存中
- 创建 Transform 流进行逐块处理
- 使用 async/await 添加正确的错误处理
- 考虑使用生成器对过滤/映射数据进行惰性求值
正在使用“typescript-node-expert”。 How should I structure a new Node.js CLI project?
预期结果:
- 在 tsconfig.json 中配置 strict 模式、NodeNext 模块解析和 ES2022 目标
- 使用 Commander.js 构建 CLI 结构,包含子命令和选项
- 实现依赖注入以实现可测试的服务
- 使用自定义错误类添加正确的错误处理
正在使用“typescript-node-expert”。 What are the rules for type safety in this skill?
预期结果:
- 永远不要使用 'any' 类型 - 使用带有类型守卫的 'unknown' 替代
- 所有函数必须有明确的返回类型
- 启用 strict 模式,包含 noUncheckedIndexedAccess 和 exactOptionalPropertyTypes
- 使用可选链和空值合并运算符实现空值安全
安全审计
安全All 89 static findings are FALSE POSITIVES. This skill is a pure documentation file (SKILL.md) containing TypeScript/Node.js code examples for educational purposes. The static analyzer incorrectly flagged documentation code snippets as executable security risks. There is no actual executable code, scripts, network calls, filesystem access, or command execution in this skill. The earlier audit in skill-report.json correctly assessed this as 'safe'.
风险因素
⚙️ 外部命令 (49)
🌐 网络访问 (2)
质量评分
你能构建什么
构建 TypeScript API
使用严格类型、正确的错误处理和异步模式创建生产就绪的 Node.js API。
开发 CLI 应用程序
使用 Commander.js 构建命令行工具,包含进度指示器和用户友好的反馈。
审查 TypeScript 代码
根据严格标准、性能模式和最佳实践验证 TypeScript 项目。
试试这些提示
编写一个 TypeScript 函数,从数据库获取用户数据。使用严格类型、正确的错误处理和明确的返回类型。
为我的 API 创建自定义错误类层次结构,包含 ValidationError 和 NotFoundError。展示用于预期失败的 Result 模式。
使用 Promise.all 将此顺序 API 调用模式重构为并行执行。展示如何处理部分失败。
审查我的 Node.js 项目的 TypeScript 严格性合规性。检查 tsconfig 设置、any 类型使用、返回类型和异步模式。
最佳实践
- 始终在 tsconfig.json 中启用 strict 模式,包含 noUncheckedIndexedAccess 和 exactOptionalPropertyTypes
- 使用 Promise.all 进行并行操作,而不是顺序 await 调用
- 使用 AppError 基类实现自定义错误类,以实现一致的错误处理
避免
- 永远不要使用 'any' 类型 - 使用带有类型守卫的 'unknown' 替代
- 避免将大文件完全加载到内存中 - 使用流式处理模式
- 不要对预期失败抛出错误 - 对可恢复错误使用 Result 模式