Next.js の Module path aliases は tsconfig だけで設定できる

#プログラミング

#Next.js

投稿日: 2020-09-14

タイトルの通り。

詳細

まず前提知識として、webpack には resolve.alias というオプションがあって、module を import する時の path に任意の alias を付けることができる。

で、TS も使っている場合は webpack の設定にあわせて tsconfig の compiler options の baseUrl と paths あたりを設定する必要がある。

逆に tsconfig だけしか設定していないとどうなるかというと、型チェック時に型の解釈はしてくれるけど、コンパイル後のコードに alias はそのまま残ってしまう。

ちなみにこれはTSでわりと有名な落とし穴で、下のissueの盛り上がりっぷりをみると alias が変換されると思って躓いた人は多そう。 TSのissue/10866

だけど Next.js では(正確には v9.4 以降は)tsconfig を書くだけでよしなにやってくれる。webpack の設定を明示的に書く必要がなくてちょっと便利、という話。

Author

profile icon

тars (たーず)

tars0x9752

Japan, Tokyo

TypeScript

プログラミング, 音楽, Turntablism, Video Game, スノーボード, 味噌汁(特に赤味噌), 味噌煮込みうどん, 川魚(特に鮎)

Tags

#Contentful

#Domain

#Gandi

#Git

#GitHub

#KaTeX

#Linux

#Markdown

#Next.js

#Nix

#Nix Flakes

#NixOS

#OCaml

#PEG

#Phenyl

#React

#SVG

#Terminal

#Turntablism

#TypeScript

#VSCode

#Vercel

#WSL

#Windows

#Yarn

#Yoyo

#lsp

#npm

#sitemap

#アルゴリズム

#データ構造

#プログラミング

#携帯

#数学

#映画

#競技プログラミング

#雑記

#音楽