首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau
百百 BLOG
首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau

Kurau Blog

「隨心而寫,真真假假,都是我」

一個記錄生活、輸出興趣的個人空間。
遊戲、影視、閱讀、學習……每一段體驗都值得留下文字。

頁面導覽

  • 學習紀錄
  • 遊戲心得
  • 影視Life
  • 書單
  • 委託作品與二創
  • Kurau
  • 合作邀請

找到我

歡迎來 Discord 找我聊天!

“曾經發生的事不可能忘記,只是暫時想不起來而已。”-《神隱少女》

© 2026 Kurau All rights reserved

開發工具

Webpack遇到的問題

By Kurau·2023-03-03·Updated 2026-05-09·2 分鐘閱讀

Webpack 遇到的問題

TL;DR
常見 ts-loader 錯誤 「TypeScript emitted no output」,原因是 tsconfig.json 設了 noEmit: true(預設)。解法:Webpack build 時走 noEmit: false,開發階段(IDE 用)再 noEmit: true 互不干擾。

錯誤訊息

ERROR in ./src/index.tsx
Module build failed (from ./node_modules/ts-loader/index.js):
Error: TypeScript emitted no output for D:\GitProject\Webpack-Test-TypeScript\src\index.tsx.
    at makeSourceMapAndFinish (...ts-loader/dist/index.js:52:18)

原因

tsconfig.json 的 noEmit: true 告訴 TS「不要產生輸出檔」,適合純 TS check(IDE / tsc --noEmit)。

但 Webpack 的 ts-loader 需要 TS 產生 .js 給它打包,所以 noEmit:true 會讓 ts-loader 拿不到輸出。


解法

// tsconfig.json
{
  "compilerOptions": {
    "noEmit": false       // ⭐ 改成 false
  }
}
json

或更乾淨:分兩個 tsconfig

// tsconfig.json(主要,Webpack 用)
{ "compilerOptions": { "noEmit": false } }

// tsconfig.check.json(IDE / CI 純 type check)
{ "extends": "./tsconfig.json", "compilerOptions": { "noEmit": true } }
json
# CI 用
tsc -p tsconfig.check.json    # 只檢查不輸出
bash

2026 年:其實別用 Webpack 了

Vite / Rspack / esbuild 處理 TS 比 ts-loader 快太多。新專案直接走 Vite,不用配這些設定。詳見 Webpack介紹 結尾的替代方案。

目錄

    ◆ 相關文章

    • Webpack介紹

      2026-05-09
    • github 多個帳戶 SSH登入

      2026-05-09
    • lodash

      2026-05-09
    • github 大小寫問題

      2026-05-09
    ← 上一篇React-Use套件下一篇 →LocalStorage應用

    ◆ 關於作者

    Kurau

    個人寫作 / 創作的 SoT,記錄遊戲、影視、學習與生活。

    更多 Kurau 的文章