Runtime(オプション)

TypeScript ランタイムは、nuxt.config ファイル、ローカルの modules および serverMiddlewares といった Webpack でコンパイルされていないファイルのために必要です。

Nuxt.js は @nuxt/typescript-runtime という専用パッケージの下に TypeScript ランタイムラッパーを作成しました。ラッパーは nuxt-ts という名前のバイナリで、実行前に裏側で ts-node を登録します。

インストール

yarn add @nuxt/typescript-runtime
npm install @nuxt/typescript-runtime

このパッケージは、@nuxt/typescript-build のように devDependency ではなく dependency でインストールされることに注意してください。本番環境では、@nuxt/typescript-runtime が必要になります。

使用方法

package.json ファイルをアップデートします:

"scripts": {
  "dev": "nuxt-ts",
  "build": "nuxt-ts build",
  "generate": "nuxt-ts generate",
  "start": "nuxt-ts start"
},
"dependencies": {
  "@nuxt/typescript-runtime": "latest",
  "nuxt": "latest"
},
"devDependencies": {
  "@nuxt/types": "latest",
  "@nuxt/typescript-build": "latest"
}

Nuxt.js の edge バージョン(nuxt-edge)を使用しているなら、nuxt-ts も動きます。

これで、nuxt.config ファイル、ローカルの modules および serverMiddlewares で TypeScript を使用できるようになりました。

@nuxt/typescript-runtime はプログラムによる使用をサポートしていません(@nuxt/cli を拡張しているため)。

上級ユーザーは、サーバーエントリーポイントに次のコードを追加することができます( source を参照してください):

import { register } from 'ts-node'

register({
  project: 'tsconfig.json',
  compilerOptions: {
    module: 'commonjs'
  },
  transpileOnly: true
})

ただし、この方法は推奨またはサポートされていません