TypeScript の tsconfig.json
に paths
という機能があります。
簡単に言うと、以下のようなことが出来る機能です。
// paths を使わない import SomeModule from "../../Baz"; // paths を使う import SomeModule from "@/components/Baz"
ただし、この機能を使うと、tsc
でトランスパイル後のファイルにも
@/components/Baz
のまま出力されてしまい、
ライブラリとして配布する際、パス解決が出来なくなってしまいます。
ということで、これを解決する方法。
やり方は簡単で、 tsc
の代わりに ttsc
を使い、プラグインを入れます。
$ yarn add ttypescript @zerollup/ts-transform-paths --dev
そして tsconfig.json
を編集します。
{ "compilerOptions": { "plugins": [{ "transform": "@zerollup/ts-transform-paths" }] } }
あとは、 tsc
の代わりに ttsc
でビルドすると、
パスが解決された状態で出力されます。
おしまい