build-error-resolver
1
总安装量
1
周安装量
#50522
全站排名
安装命令
npx skills add https://github.com/seikaikyo/dash-skills --skill build-error-resolver
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
gemini-cli
1
Skill 文档
Build Error Resolver (建æ§é¯èª¤ä¿®å¾©)
When to Use
å¨ä»¥ä¸æ æ³ä½¿ç¨æ¤ Skillï¼
npm run build失ænpx tsc --noEmit顯示é¯èª¤- é¡åé¯èª¤é»ç¤éç¼
- Import/模çµè§£æé¯èª¤
- è¨å®æªé¯èª¤
- ä¾è³´çæ¬è¡çª
æ ¸å¿åå
- æå°åä¿®æ¹ – åªåå¿ è¦çæå°æ¹å
- ä¸éæ§ – 䏿¹åç¡éçç¨å¼ç¢¼
- 䏿¹æ¶æ§ – åªä¿®é¯èª¤ï¼ä¸åè¨è¨è®æ´
- å¿«éè¿ä»£ – ä¿®ä¸åé¯èª¤ï¼é©èï¼ç¹¼çºä¸ä¸å
è¨ºæ·æä»¤
# TypeScript é¡åæª¢æ¥ (ç¡è¼¸åº)
npx tsc --noEmit
# 顯示ææé¯èª¤
npx tsc --noEmit --pretty --incremental false
# 檢æ¥ç¹å®æªæ¡
npx tsc --noEmit path/to/file.ts
# Next.js 建æ§
npm run build
# ESLint 檢æ¥
npx eslint . --ext .ts,.tsx,.js,.jsx
é¯èª¤ä¿®å¾©æµç¨
1. æ¶éææé¯èª¤
npx tsc --noEmit --pretty
2. åé¡é¯èª¤
- é¡åæ¨æ·å¤±æ
- 缺å°é¡åå®ç¾©
- Import/Export é¯èª¤
- è¨å®é¯èª¤
- ä¾è³´åé¡
3. æåªå ç´ä¿®å¾©
- é»ç¤å»ºæ§ï¼å ä¿®
- é¡åé¯èª¤ï¼ä¾åºä¿®
- è¦åï¼ææéåä¿®
常è¦é¯èª¤æ¨¡å¼è修復
1. é¡åæ¨æ·å¤±æ
// é¯èª¤: Parameter 'x' implicitly has an 'any' type
function add(x, y) { return x + y }
// 修復: å ä¸é¡å註解
function add(x: number, y: number): number { return x + y }
2. Null/Undefined é¯èª¤
// é¯èª¤: Object is possibly 'undefined'
const name = user.name.toUpperCase()
// 修復: Optional chaining
const name = user?.name?.toUpperCase()
// æ: Null check
const name = user && user.name ? user.name.toUpperCase() : ''
3. 缺å°å±¬æ§
// é¯èª¤: Property 'age' does not exist on type 'User'
interface User { name: string }
const user: User = { name: 'John', age: 30 }
// 修復: æ°å¢å±¬æ§å° interface
interface User {
name: string
age?: number
}
4. Import é¯èª¤
// é¯èª¤: Cannot find module '@/lib/utils'
// 修復 1: æª¢æ¥ tsconfig paths
{
"compilerOptions": {
"paths": { "@/*": ["./src/*"] }
}
}
// 修復 2: 使ç¨ç¸å°è·¯å¾
import { formatDate } from '../lib/utils'
// 修復 3: å®è£ç¼ºå°çå¥ä»¶
npm install @/lib/utils
5. é¡åä¸ç¬¦
// é¯èª¤: Type 'string' is not assignable to type 'number'
const age: number = "30"
// 修復: è½å
const age: number = parseInt("30", 10)
6. Generic éå¶
// é¯èª¤: Type 'T' is not assignable to type 'string'
function getLength<T>(item: T): number {
return item.length
}
// 修復: å ä¸éå¶
function getLength<T extends { length: number }>(item: T): number {
return item.length
}
7. React Hook é¯èª¤
// é¯èª¤: React Hook cannot be called conditionally
function MyComponent() {
if (condition) {
const [state, setState] = useState(0) // é¯èª¤!
}
}
// 修復: Hook ç§»å°é 層
function MyComponent() {
const [state, setState] = useState(0)
if (!condition) return null
// ä½¿ç¨ state
}
8. Async/Await é¯èª¤
// é¯èª¤: 'await' only allowed within async functions
function fetchData() {
const data = await fetch('/api/data')
}
// 修復: å ä¸ async
async function fetchData() {
const data = await fetch('/api/data')
}
9. æ¨¡çµæªæ¾å°
// é¯èª¤: Cannot find module 'react'
// 修復: å®è£ä¾è³´
npm install react
npm install --save-dev @types/react
æå°åä¿®æ¹çç¥
å:
- å ä¸ç¼ºå°çé¡å註解
- å ä¸å¿ è¦ç null checks
- 修復 imports/exports
- å®è£ç¼ºå°çä¾è³´
- æ´æ°é¡åå®ç¾©
ä¸å:
- éæ§ç¡éç¨å¼ç¢¼
- æ¹è®æ¶æ§
- éæ°å½åè®æ¸/彿¸
- æ°å¢åè½
- æ¹è®é輯æµç¨
- åªåæè½
建æ§é¯èª¤å ±åæ ¼å¼
# 建æ§é¯èª¤ä¿®å¾©å ±å
**æ¥æ:** YYYY-MM-DD
**建æ§ç®æ¨:** Next.js Production / TypeScript Check
**åå§é¯èª¤:** X
**已修復é¯èª¤:** Y
**建æ§çæ
:** éé / 失æ
## 已修復é¯èª¤
### 1. [é¯èª¤é¡å¥]
**ä½ç½®:** `src/components/Card.tsx:45`
**é¯èª¤è¨æ¯:**
Parameter 'market' implicitly has an 'any' type.
**修復:**
+function formatMarket(market: Market) {
-function formatMarket(market) {
**ä¿®æ¹è¡æ¸:** 1
## é©èæ¥é©
1. TypeScript 檢æ¥éé: `npx tsc --noEmit`
2. Next.js å»ºæ§æå: `npm run build`
3. ç¡æ°é¯èª¤ç¢ç
é¯èª¤åªå ç´
å´é (ç«å³ä¿®å¾©)
- 建æ§å®å ¨å¤±æ
- éç¼ä¼ºæå¨ç¡æ³åå
- çç¢é¨ç½²è¢«é»æ
é« (ç¡å¿«ä¿®å¾©)
- å®ä¸æªæ¡å¤±æ
- æ°ç¨å¼ç¢¼çé¡åé¯èª¤
- Import é¯èª¤
ä¸ (æç©ºä¿®å¾©)
- Linter è¦å
- å·²æ£ç¨ API 使ç¨
- éå´æ ¼é¡ååé¡
å¿«éåèæä»¤
# 檢æ¥é¯èª¤
npx tsc --noEmit
# æ¸
é¤å¿«åé建
rm -rf .next node_modules/.cache
npm run build
# å®è£ç¼ºå°çä¾è³´
npm install
# èªå修復 ESLint
npx eslint . --fix
# é©è node_modules
rm -rf node_modules package-lock.json
npm install
æåæ¨æº
npx tsc --noEmitåå³ code 0npm run buildæå宿- ç¡æ°é¯èª¤ç¢ç
- ä¿®æ¹è¡æ¸æå°å (< åå½±é¿æªæ¡ç 5%)
- éç¼ä¼ºæå¨æ£å¸¸éä½
- 測試ä»ç¶éé