🧨 差別總覽:Node.js vs TypeScript 在命令行的運行方式

| Node.js | 2 Reads

針對 Node.js 原生專案TypeScript 專案,在「命令行執行」上的確存在一些差異,尤其體現在 執行方式、編譯需求與調試工具 上。


🧨 差別總覽:Node.js vs TypeScript 在命令行的運行方式

項目 原生 Node.js TypeScript(ts)專案
檔案格式 .js .ts(需轉成 .js
是否需要編譯 需要先編譯(除非用 ts-node)
常見執行命令 node app.js ts-node src/app.tstsc && node dist/app.js
實時變更支援 nodemon ts-node-dev(建議)
原生 Node.js 支援 直接支援 需要 TypeScript 工具鏈(tsc、ts-node)
使用模組 require()import(ESM) import(需配合 tsconfig 設定)

🧪 常見命令行比較(詳細說明)

🔵 原生 Node.js

node app.js                  # 直接執行 JS
nodemon app.js               # 自動監視變更並重啟

🟢 TypeScript

npx tsc                      # 將 .ts 編譯成 .js(根據 tsconfig)
node dist/index.js          # 執行編譯後的 JS

# 或者更方便地:
npx ts-node src/index.ts    # 直接執行 TS(不需編譯,開發用)
npx ts-node-dev src/index.ts  # 支援熱重啟(推薦開發階段)

ts-node-dev = ts-node + nodemon 的混合體,效能較好且支援快取。


🔧 編譯和執行的推薦流程

階段 推薦命令
開發 npm run dev → 使用 ts-node-dev
單次測試 npx ts-node src/foo.ts
正式部署 npm run build && npm start
編譯確認 npx tsc(看是否有錯)

✅ 小總結

用途 推薦方式
開發快速執行 ts-node or ts-node-dev
編譯輸出 tsc
執行正式程式碼 node dist/xxx.js
持續開發自動刷新 ts-node-dev

TypeScript 專案的基本文件結構

Node.js 專案中的 TypeScript 結構

「純 TypeScript 專案」與「Node.js + TypeScript 專案」的區別

返回目錄

This article was last edited at