Node.js รัน TypeScript โดยตรง v23.6+: node app.ts ไม่ต้อง tsc/esbuild
記事一覧へ戻る

Node.js รัน TypeScript โดยตรง v23.6+: node app.ts ไม่ต้อง tsc/esbuild

Node.js 23.6+ รัน .ts/.mts/.cts native type stripping ESM/CommonJS production setup VS Code config migration guide performance vs tsx ts-node

Software 更新: January 9, 2026

Node.js รัน TypeScript โดยตรงตั้งแต่ v23.6.0 - node app.ts ไม่ต้องคอมไพล์!

Node.js 23.6+ รองรับไฟล์ .ts/.mts/.cts แบบ native ด้วย type stripping ลบ type annotation รันทันที รองรับ ESM/CommonJS

Node.js TypeScript Support

ไฟล์รองรับหมายเหตุ
.tsStandard TypeScript
.mtsES Module TS
.ctsCommonJS TS
.tsxReact JSX

รัน TypeScript ทันที

# ง่ายสุด
node app.ts

# ESM project
node --loader tsx app.ts

# Experimental features
node --experimental-transform-types app.ts

ตัวอย่างใช้งานจริง

app.ts

// Type annotations ลบอัตโนมัติ
interface User {
id: number;
name: string;
}

async function getUser(id: number): Promise<User> {
return { id, name: `User ${id}` };
}

// รันได้เลย node app.ts
const user = await getUser(1);
console.log(user);

package.json

{
"type": "module",
"scripts": {
"dev": "node --watch app.ts",
"start": "node app.ts"
}
}

ESM Import ต้องระบุ .ts

// ✅ ถูกต้อง
import { handler } from './routes.ts';
import express from 'express';

// ❌ Error - ไม่รู้ extension
import { handler } from './routes';

ข้อจำกัดสำคัญ

❌ ไม่มี type checking (ต้อง tsc --noEmit)
❌ tsconfig.json ถูก ignore
❌ Decorators/JSX ต้อง flag
❌ ไม่แปลง const enum/private fields
✅ Syntax TS 99% รองรับ

Production Setup แนะนำ

// tsconfig.json (type check เท่านั้น)
{
"tsBuildInfoFile": ".cache/tsbuildinfo",
"noEmit": true,
"strict": true
}
// package.json
{
"scripts": {
"typecheck": "tsc --noEmit",
"dev": "tsx watch src/index.ts",
"start": "node dist/index.js",
"build": "tsc"
}
}

Performance Comparison

MethodCold StartMemoryBuild Step
node app.ts25ms80MB❌ None
tsc → node35ms75MB✅ Type check
tsx45ms120MB⚠️ Runtime

VS Code Config

// settings.json
{
"typescript.preferences.includePackageJsonAutoImports": "on",
"typescript.suggest.autoImports": true,
"node.experimentalTypeAcquisition": true
}

Migration Guide

1. Node.js >= 23.6.0 ✅
2. package.json "type": "module"
3. ระบุ .ts extension ทุก import
4. tsc --noEmit (type check)
5. node app.ts 🚀
D

DRITESTUDIO

DRITESTUDIO COMPANY LIMITED - Cloud, VPS, Hosting and Colocation provider in Thailand

Cookie設定を管理

当サイトでは、お客様の体験を最適化するためにさまざまな種類のCookieを使用しています。下のカテゴリをクリックして詳細を確認し、設定をカスタマイズしてください。一部のCookieをブロックすると、体験に影響する場合があります。

必要なCookie

これらのCookieはウェブサイトの正常な機能に不可欠です。ページナビゲーションやセキュアなエリアへのアクセスなどの基本機能を有効にします。

使用されているCookieを表示
  • セッションCookie(セッション管理)
  • セキュリティCookie(CSRF保護)
常にオン

機能性Cookie

これらのCookieは、言語設定やテーマ設定などのパーソナライズされた機能を有効にします。これらがないと、一部の機能が正しく動作しない場合があります。

使用されているCookieを表示
  • lang(言語設定)
  • theme(ダーク/ライトモード)

分析Cookie

これらのCookieは、匿名で情報を収集・報告することで、訪問者がウェブサイトとどのようにやり取りしているかを理解するのに役立ちます。

使用されているCookieを表示
  • _ga(Google Analytics)
  • _gid(Google Analytics)

マーケティングCookie

これらのCookieは、お客様の興味に基づいて関連性の高い広告を表示するために、ウェブサイト間で訪問者を追跡するために使用されます。

使用されているCookieを表示
  • 広告Cookie
  • リマーケティングピクセル

プライバシーポリシー