TypeScript の環境構築
tsx を使う
tsxは Node.js で TypeScript を実行する拡張機能であり、ホットリロードに対応している。
| $ read -p "Project name:" name && echo $name && mkdir -p $name && cd $_ && touch .env && npm init -y && npm i -D typescript tsx @types/node && npx tsc --init && mkdir src && echo 'console.log("Hello, World!");' > src/app.ts
$ mkdir -p {projectName} && cd $_ && npm init -y && npm i -D typescript tsx @types/node && npx tsc --init && mkdir src && echo 'console.log("Hello, World!");' > src/app.ts
|
package.jsonに以下マージする。
| package.json |
|---|
| {
"scripts": {
"dev": "tsx watch --env-file=.env src/app.ts"
}
}
|
環境変数は.envからprocess.env.VARIABLE_NAMEで読み込み可能。
package.json のバージョンを取得する
以下をマージする。
| tsconfig.json |
|---|
| {
"resolveJsonModule": true
}
|
コード内で以下のようにバージョンを取得する。
| import { version } from "../package.json";
console.log(version);
|
ts-node と nodemon を使う
ts-nodeを使うと Node.js で TypeScript を実行することができる。nodemonを使うとホットリロードができる。
| $ npm init -y && npm i -D typescript ts-node nodemon && npx tsc --init && mkdir src && touch src/app.ts
|
package.jsonに以下マージする。
| package.json |
|---|
| {
"scripts": {
"dev": "nodemon src/app.ts"
}
}
|
npm run devを実行する。
nodemon.jsonを作成し、以下のように内容を記述することで、nodemon の監視対象から外すことができる。
| nodemon.json |
|---|
| {
"ignore": ["settings.json"]
}
|