Closed h-takeyeah closed 3 years ago
TSちゃんと書いたことないので、ニワカ発言なんですけど importするとき、
import { mysql } from 'db'
みたいな書き方を強制する、という変更なんですよね?
はい,その通りです
@h-takeyeah ま、インテリセンス働きそうなので、いいとは思うのですが、一応、そういうグローバル名前空間(表現あってる?)的な所にモノないからちゃんとimportしろ的なメモはないと引継ぎ困りそうっすね...
@equal-l2 さんの「各々のモジュールは自分の外にrouterがあるとは思ってないので、そこを大切にしてあげたい」という意見には反してしまいますが,
// XXRoutes.ts側
const accessLogsRouter = Router()
accessLogsRoutes.get('/access_logs', listAccessLogs)
export { accessLogsRouter }
こうすると
// ams-backend.tsg側
import { accessLogsRouter } from './app/routes/accessLogsRoutes'
こうできます.まあ今までのrouter
という変数を使っている部分を大事にする(変更箇所を最小限に抑える)には下の例の方がいいかなあと思います.
// XXRoutes.ts側
export { router as accessLogsRouter }
とは言ったものの「各々のモジュールは自分の外にrouterがあるとは思ってないので、そこを大切にしてあげたい」に則れば呼び出した側で名前の衝突は回避してあげるべきなのかもしれません.つまり呼び出した側(ams-backend.ts)で衝突したらasで言い換えてあげると. ただ,その場合だと呼び出した側の都合でいかようにも呼び名が変わってしまうので「自分たちが作ったクラスをasで読み替えてしまうと(ライブラリとかで読み込んだものをasにするのならわかるのですが)、自明な意味合いを持ったクラスじゃないのかよ」って突っ込まれても仕方ないですね.
ここに
export default
は悪だと書いてあったので 廃止してみました.動作に変更はありません. https://basarat.gitbook.io/typescript/main-1/defaultisbad単純なリファクタリングにも満たない程度の好みの問題による変更なのでマージの優先度は低いです.