# 创建一个 TS 项目
https://khalilstemmler.com/blogs/typescript/node-starter-project/ (opens new window)
# 初始化项目
mkdir typescript-starter
cd typescript-starter
npm init -y
# 安装依赖
npm i typescript -D
npm i @types/node -D
# 配置 tsconfig.json
npx tsc --init --rootDir src --outDir build \
--esModuleInterop --resolveJsonModule --lib es6 \
--module commonjs --allowJs true --noImplicitAny true
--experimentalDecorators true
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib": ["es6"],
"allowJs": true,
"outDir": "build",
"rootDir": "src",
"strict": true,
"noImplicitAny": true,
"esModuleInterop": true,
"resolveJsonModule": true
}
}
# 创建一个 .ts 文件
mkdir src
touch src/index.ts
console.log('Hello world!');
npx tsc
node build/index.js
# 一些有用的配置
npm i ts-node -D
npm i nodemon -D
npm i rimraf -D
nodemon.json
touch nodemon.json
{
"watch": ["src"],
"ext": ".ts,.js",
"ignore": [],
"exec": "npx ts-node ./src/index.ts"
}
package.json
{
"scripts": {
"start:dev":"npx nodemon",
"build": "rimraf ./build && tsc",
"start":"npm run build && node build/index.js"
}
}
npm run start:dev
npm run build
npm run start