Typescript是Microsoft開發出來的一種JavaScript的擴展程式語言。
npm install -g ts-node //全域安裝ts-node
mkdir專案名稱;【CD】專案名稱
npm init //初始化Node專案,enter到底後產生package json。
npm install -D TypeScript //-D表示把套件裝在開發過程的選項。
npm install -D tslib @types/node
npm install -D @tsconfig/node14 //請依照個人的版本
{
"extends": "@tsconfig/node14/tsconfig.json",
"compilerOptions": {
"outDir": "./dist", // 編譯後文件放在 dist 目錄
"rootDir": "./src", // 源碼的根目錄放在 src 目錄
"strict": true, //啟用所有嚴格類型檢查選項。
"esModuleInterop": true, //啟用 ES 模塊互操作性。
"skipLibCheck": true, //跳過型別檢查所有的聲明文件。
"forceConsistentCasingInFileNames": true, //強制文件名大小寫一致。
"module": "commonjs", // Node.js 預設使用的模塊系統。
"noImplicitAny": true, // 強制明確指定類型。
"preserveConstEnums": true, // 保留 const enum 定義。
"sourceMap": true // 生成對應的 .map 文件,以便於進行調試。
},
"include": [
"src/**/*" //指定要編譯的文件或目錄。
],
"exclude": [
"node_modules",
"**/*.spec.ts" // 指定不需要編譯的文件或目錄。
]
}
npx tsc --init
{
"compilerOptions": {
"target": "es2020", // 更新目標 ECMAScript 版本
"module": "commonjs",
"outDir": "./dist", // 指定輸出目錄
"rootDir": "./src", // 指定輸入文件的根目錄
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
ts-node -e 'console.log("Hello, World")'
//輸出Hello, World
npm install --save-dev cross-env
"start": "set NODE_OPTIONS=--trace-deprecation --abort-on-uncaught-exception && ts-node ./src/index.ts"