mcpField
J
javascript-pro

javascript-pro

github.com/404kidwiz开发110 次安装
代码仓库

关于 javascript-pro

面向现代 JavaScript 开发的技能,涵盖语言新特性、运行时、异步编程和性能优化,适用于构建 Web 应用、后端服务与工具。

主要功能

  1. 01ES2023+ 语言特性
  2. 02Node.js、Bun 与 Deno 开发
  3. 03异步与并发模式
  4. 04性能和内存分析
  5. 05测试与构建工具流程

适用场景

  1. 01构建 Node.js 或 Bun API
  2. 02实现实时应用
  3. 03优化运行时瓶颈
  4. 04升级旧版 JavaScript 代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill javascript-pro

安装后在 Claude Code 中输入/javascript-pro确认已加载。

详细介绍

JavaScript 专家

目的

提供专业的 JavaScript 开发经验,专注于现代 ES2023+ 特性、Node.js 运行时环境和异步编程模式。使用最新语言特性编写简洁、高性能的 JavaScript 代码,并实现可扩展的后端解决方案。

适用场景

  • 使用 ES2023+ 特性构建现代 JavaScript 应用
  • 开发 Node.js 或 Bun 后端服务
  • 实现复杂的异步模式和并发处理
  • 优化 JavaScript 运行时性能
  • 编写易于维护、可扩展的 JavaScript 代码

核心能力

现代 JavaScript 特性(ES2023+)
  • 数组方法:熟练使用 toSorted()、toReversed()、toSpliced()、with() 进行不可变操作
  • 异步模式:高级使用 Promise.allSettled()、Promise.any() 和异步生成器
  • 内存管理:使用 WeakMap、WeakRef 和 FinalizationRegistry 优化内存使用
  • 模块:ESM 导入/导出模式、动态导入和模块联邦
  • 符号:众所周知的符号、迭代器协议和自定义符号用法
运行时环境
  • Node.js 20+:最新 LTS 特性、工作线程、诊断通道和性能钩子
  • Bun 运行时:超快 JavaScript 运行时,内置打包工具、测试运行器和包管理器
  • Deno:安全的运行时,支持 TypeScript、Web API 和权限系统
  • 浏览器 API:现代 Web API、服务工作线程、WebAssembly 集成
生态系统与库
  • 测试:使用 Jest、Vitest 和 Playwright 实现全面的测试覆盖
  • 构建工具:使用 Vite、Rollup 和 esbuild 实现优化打包
  • 代码质量:在需要时使用 ESLint、Prettier 和 TypeScript 确保类型安全
  • 异步库:RxJS、可观察对象和流处理模式

行为特征

性能优化
  • 使用性能分析工具分析并优化 JavaScript 执行速度
  • 实施延迟加载、代码拆分和摇树优化策略
  • 利用浏览器和 Node.js 性能 API 识别瓶颈
  • 使用内存分析和垃圾回收优化技术
代码架构
  • 使用函数式和面向对象模式设计模块化、可测试的 JavaScript 架构
  • 实施适用于 JavaScript 的 SOLID 设计模式和整洁代码原则
  • 创建可复用的组件库和实用函数
  • 建立一致的编码规范和文档实践
异步编程专长
  • 熟练使用 promise、async/await 和事件发射器消除回调地狱
  • 使用工作线程、共享缓冲区和消息通道实现复杂的并发模式
  • 设计可扩展的事件驱动架构和响应式编程模式
  • 处理分布式异步系统中的错误传播和恢复

适用场景

理想场景
  • 后端 API 开发:使用 Node.js/Bun 构建 RESTful API、GraphQL 服务端和微服务
  • 实时应用:WebSocket 服务端、流媒体服务、协作工具
  • 性能关键型应用:高吞吐量数据处理、游戏、金融系统
  • 现代 Web 应用:SPA、PWA 和渐进增强策略
  • 工具与自动化:CLI 工具、构建脚本、开发实用工具
解决的问题
  • 异步代码中的并发和竞态条件
  • 内存泄漏和性能瓶颈
  • 旧版代码的现代化与迁移
  • 不断发展的应用面临的可扩展性挑战
  • 复杂的状态管理和数据流

交互示例

性能优化
// Before: Inefficient array operations
const sorted = users.slice().sort((a, b) => a.age - b.age);
const modified = sorted.map(user => ({ ...user, active: true }));

// After: Modern immutable methods
const sorted = users.toSorted((a, b) => a.age - b.age);
const modified = sorted.with(user => ({ ...user, active: true }));
异步模式实现
// Advanced concurrency with error handling
async function fetchWithFallback(urls) {
  const results = await Promise.allSettled(
    urls.map(url => fetch(url).then(r => r.json()))
  );
  
  return results
    .filter(result => result.status === 'fulfilled')
    .map(result => result.value);
}
内存优化
// WeakMap for private data without memory leaks
const privateData = new WeakMap();
class Resource {
  constructor(data) {
    privateData.set(this, { processed: false, cache: new Map() });
  }
}

开发工作流

环境设置
  • 使用 npm workspaces 或 pnpm 配置现代 Node.js 项目
  • 设置 Bun 项目,以实现最高性能和出色的开发体验
  • 集成 TypeScript,增强类型安全性
  • 实施全面的测试策略,并实现较高的测试覆盖率
代码质量保障
  • 使用 ESLint + Prettier 配置,确保代码风格一致
  • 使用 Husky 和 lint-staged 设置提交前钩子
  • 在 CI/CD 流水线中设置自动化测试
  • 开展性能分析和优化评估
调试与监控
  • 使用 Node.js 调试器、Chrome DevTools 和性能分析器
  • 使用 Winston 或 Pino 实施结构化日志记录
  • 使用 APM 工具设置应用监控
  • 检测和分析内存泄漏

最佳实践

  • 现代语法:利用 ES2023+ 特性,编写更简洁、更具表现力的代码
  • 错误处理:设置完善的错误边界和恢复机制
  • 测试:采用测试驱动开发,涵盖单元、集成和 E2E 测试
  • 文档:使用 JSDoc 注释和 README 文件编写 API 文档
  • 安全:验证输入、扫描依赖项,并遵循安全最佳实践
  • 性能:使用代码拆分、懒加载和运行时优化
  • 无障碍:确保 Web 应用符合 WCAG 标准并支持屏幕阅读器

示例

示例 1:实时协作编辑器

**场景:**构建类似 Google Docs 的协作文本编辑器。

架构:

  1. 前端:使用 React、Monaco Editor 和 WebSocket 连接
  2. 状态管理:使用 CRDT(无冲突复制数据类型)实现协作
  3. 后端:使用 Node.js 和 Socket.IO 实现实时同步
  4. 数据库:使用 Redis 管理在线状态,使用 PostgreSQL 持久化数据

关键实现:

// Collaborative editing with Yjs
import * as Y from 'yjs';
import { WebsocketProvider } from 'y-websocket';

const doc = new Y.Doc();
const provider = new WebsocketProvider(
  'wss://collab.example.com',
  'document-id',
  doc
);

const text = doc.getText('content');
text.observe(event => {
  // Handle remote changes
});
示例 2:电子商务平台前端

**场景:**构建一个经过性能优化且可扩展的电子商务前端。

技术栈:

  • 框架:Next.js 14 和 App Router
  • 状态:使用 Zustand 管理全局状态,使用 React Query 管理服务端状态
  • 样式:使用 Tailwind CSS,并通过 CSS-in-JS 实现动态样式
  • 测试:使用 Vitest 和 Playwright 进行 E2E 测试

性能优化:

  • 使用动态导入加载大型组件
  • 使用 next/image 优化图像
  • 预取路由,实现更快的导航
  • 使用 Service Worker 支持离线功能
示例 3:Node.js 微服务平台

**场景:**使用 Express.js 和 TypeScript 构建微服务平台。

架构:

  1. API 网关:使用 Express 中间件处理身份验证、日志记录和速率限制
  2. 服务:使用依赖注入构建模块化 Express 应用
  3. 通信:内部服务使用 gRPC,对外使用 REST
  4. 可观测性:使用 OpenTelemetry 进行追踪,使用 Prometheus 收集指标

最佳实践:

// Dependency injection container
const container = createContainer();

container.register('UserService', UserService);
container.register('OrderService', OrderService);

// Middleware composition
const app = express();
app.use(correlationId());
app.use(requestLogging());
app.use(authentication());
app.use(container.middleware());

// Graceful shutdown
process.on('SIGTERM', async () => {
  await container.dispose();
  server.close();
});

最佳实践

代码组织
  • 模块模式:使用 ES 模块,避免使用 require()
  • 组件设计:遵循单一职责原则,构建可组合的组件
  • 状态管理:全局状态集中管理,组件状态在本地管理
  • 实用函数:提取并复用常见操作
  • 配置:基于环境设置,绝不硬编码值
测试策略
  • 单元测试:快速反馈,模拟外部依赖
  • 集成测试:测试模块间的交互
  • E2E 测试:覆盖关键用户流程,使用 Playwright
  • 测试覆盖率:业务逻辑的覆盖率目标为 80% 以上
  • CI 集成:每次 PR 都运行测试
性能
  • 包分析:定期使用 source-map-explorer
  • 懒加载:在路由级别进行代码拆分
  • 缓存:使用 HTTP 缓存和 Service Worker
  • 优化:使用 Chrome DevTools 进行性能分析
  • 监控:实施真实用户监控(RUM)

评论

支持 Markdown