🐡
Node.js + TypeScript + Express の最小構成でHelloWorldする
バージョン情報
name | version |
---|---|
node | 18.15.0 |
npm | 9.6.1 |
ts-node | 10.9.1 |
name | version |
---|---|
express | 4.18.2 |
typescript | 4.9.5 |
Expressを導入
公式のインストール手順に従い構築
$ mkdir myapp
$ cd myapp
gitignore作成(node_moduleをリポジトリに入れたくないので)
$ touch .gitignore
.gitignore
node_modules/
$ npm init
すべてデフォルトの値を利用
$ npm install express
index.js を作成
$ touch index.js
index.js
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
実行確認
$ node index.js
TypeScript化する
$ npm install -D typescript @types/node
$ npx tsc --init
この状態だと .ts
のファイルがなくてエラーになるので index.js
=> index.ts
に拡張子を変更して下記のように修正
index.ts
import express from 'express'
const app: express.Express = express()
const port = 3000
app.get('/', (_req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
express の型定義がないので導入
$ npm install -D @types/express
そのままでは実行できないので ts-node
を導入
$ npm install -D ts-node
再度起動できるか確認
$ npx ts-node index.ts
Discussion
有益な記事ありがとうございます!
参考にさせていただきました。
npx経由で実行する場合
はいらないと思います。