express-generator-typescriptとは?
express-generatorをTypeScriptで構築済みでなおかつ認証機能もついているという大変便利なものです。
GitHub
npm
問題点
初期状態で、npm start
やnpm start:dev
を実行したら、以下のようなエラーが出ます。
SyntaxError: Unexpected token } in JSON at position 573
at JSON.parse (<anonymous>)
at parse (/hoge/node_modules/tsconfig/src/tsconfig.ts:195:15)
at readFileSync (/hoge/node_modules/tsconfig/src/tsconfig.ts:181:10)
at Object.loadSync (/hoge/node_modules/tsconfig/src/tsconfig.ts:151:18)
at readConfig (/hoge/node_modules/ts-node/src/index.ts:425:18)
at Object.register (/hoge/node_modules/ts-node/src/index.ts:189:18)
at Object.<anonymous> (/hoge/node_modules/ts-node/src/_bin.ts:140:17)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
対応方法
一見するとライブラリのエラーなので、どうしようももなさそうですが、問題は、tsconfig.json
の中にあります。
不要な末尾に対するカンマがあったため、エラーが出たようです。
tsconfig.json
/** 省略 **/
"paths": {
"@daos/*": [
"src/daos/*"
],
"@entities/*": [
"src/entities/*"
],
"@shared/*": [
"src/shared/*"
],
"@server": [
"src/Server"
]
},←このカンマを削除する
},
"include": [
"src/**/*.ts",
"spec/**/*.ts"
],
"exclude": [
"src/public/"
]
}
最後に
もうしかしたら、私の環境だけこうなっている可能性と英語力に自信がないので、Issuesに報告しようか迷っています。
しかし、この記事がきっかけで、express-generator-typescriptの利用を諦めていた人が救われたら幸いです。。