Table of Contents
英語が読める?じゃあこれ読んで終わりな!
https://stackoverflow.com/questions/58187115/typescript-paths-not-working-in-an-express-project
(っ◞‸◟c)
何が問題なのか
expressみたいな鯖をnode + tsとかで自前で環境入れていくと、vue-cliでやってくれるようなdevコマンド一発でホットリロードつきビルドが標準で出来ない。
でnodemon使って自前でそのあたりのスクリプト書くんだけど微妙にnodemonのドキュメントが不親切で情報がとっちらかってるのでまとめておく。
結論
devDepenciesにnodemon
, ts-node
, tsconfig-paths
を追加して、プロジェクトのルートにnodemon.json
を作成する。
tsconfig-pathsはtsconfigでpathsを使わない(インポート時のパスを@/とかから始められるエイリアス的なやつ)ならいらないけどあると便利だよ
jsonの中身はこんな感じ
{
"ignore": [
"**/*.test.ts",
"**/*.spec.ts",
".git",
"node_modules"
],
"watch": [
"src"
],
"exec": "node -r tsconfig-paths/register -r ts-node/register ./src/index.ts",
"ext": "ts, js"
}
あとはpackage.json内のscriptで"dev":"yarn nodemon"
とでも書いておけばよろし。
余談
nodemonは何処にも書いてないんだがどうも標準でts-nodeを使ってくれるらしく、前述のパスの問題が気にならないなら
yarn nodemon src/index.ts
とかで一発らしいよ。びっくりだね。ドキュメント書いとけ。