8/21 に Nuxt.js 2.9 (数時間後に2.9.1出ましたけど)でましたね!
バージョンアップや詳しいやり方は、公式のマイグレーションガイドを参照くださいー
Nuxt.js のserverMiddlewareは、ts-nodeを使ってるため、通常だと importで
import hoge from '~/hoge'
ができず、こんな感じで相対パスにしてたかと思います。
import hoge from '../hoge'
Nuxtではなく、ts-node単体で実行する場合はtsconfig-paths
というライブラリを使うと
ts-node -r tsconfig-paths/register main.ts
とすると、 ~/hoge
が使えました。
Nuxt.js 2.9 で @nuxt/typescriptが分離され、 @nuxt/typescript-runtime
になり、 pathsが使えるようになったかな?ってみたところやっぱり使えなかったので、ちょこっとみてみたところこうすると使えました。
まず、マイグレーションガイドをみながらバージョンをあげておきます。
次に、Runtimeのマイグレーションガイドの手順でruntimeを追加します。
Runtimeガイドには
"scripts": {
"dev": "nuxt-ts",
"build": "nuxt-ts build",
"generate": "nuxt-ts generate",
"start": "nuxt-ts start"
},
こう書いてありますが、、 tsconfig-pathsを packageにインストールしたのち
"scripts": {
"dev": "node -r tsconfig-paths/register ./node_modules/@nuxt/typescript-runtime/bin/nuxt-ts.js",
"build": "node -r tsconfig-paths/register ./node_modules/@nuxt/typescript-runtime/bin/nuxt-ts.js build",
"generate": "node -r tsconfig-paths/register ./node_modules/@nuxt/typescript-runtime/bin/nuxt-ts.js generate",
"start": "node -r tsconfig-paths/register ./node_modules/@nuxt/typescript-runtime/bin/nuxt-ts.js start"
},
こうすると、 tsconfigのpathsが使えるようになりました!
お試しください^^