Tempo de execução (opcional)
O tempo de execução typeScript é necessário para arquivos não compilados pelo Webpack, como o arquivo nuxt.config, módulos locais e serverMiddlewares.
Nuxt.js criou um wrapper para o tempo de execução TypeScript em um pacote dedicado @nuxt/typescript-runtime
. O wrapper é um binário chamado nuxt-ts que registra ts-node nos bastidores antes de ser executado.
Instalação
yarn add @nuxt/typescript-runtime
npm install @nuxt/typescript-runtime
Note-se que este pacote é instalado como dependency
e não devDependency
, como @nuxt/typescript-build
, por causa que o @nuxt/typescript-runtime
é necessário em produção.
Uso
Tudo que você precisa fazer é atualizar o seu arquivo package.json:
"scripts": {
"dev": "nuxt-ts",
"build": "nuxt-ts build",
"generate": "nuxt-ts generate",
"start": "nuxt-ts start"
},
"dependencies": {
"@nuxt/typescript-runtime": "latest",
"nuxt": "2.x"
},
"devDependencies": {
"@nuxt/types": "2.x",
"@nuxt/typescript-build": "latest"
}
nuxt-ts também funciona se você estiver utilizando a versão edge do Nuxt.js (nuxt-edge).
Agora você pode usar TypeScript para o arquivo nuxt.config, módulos locais e serverMiddlewares.
@nuxt/typescript-runtime
não suporta uso programaticamente (já que extende @nuxt/cli
).
Usuários avançados podem tentar adicionar o seguinte código no começo de seu servidor (veja a fonte)
import { register } from 'ts-node'
register({
project: 'tsconfig.json',
compilerOptions: {
module: 'commonjs'
},
transpileOnly: true
})
Porém, isso é não recomendado ou suportado.