TypeScript
Last updated
Last updated
We use TypeScript to statically type-check and build our frontend.
We use typescript
that is bundled with Nuxt
since .
So do not install anything rather than nuxt
and @nuxt/typescript
. And it just works.
You can modify your ts
configuration inside this file. Read more about useful options .
We use client/shims/*.d.ts
files to store several that are required for our app. Like:
@nuxt/axios
that adds $axios
property to vue
and vuex
$style
property on Vue
components to support css-modules
global .vue
files support for typescript
We use to make our Vue
components type-safe.
Sometimes you want to make some runtime type checks: inside API methods, input validations, etc.
And since TypeScript types are only allowed during static check, we cannot use them in runtime.
That's how building runtime types is done:
And then validating it:
That's a powerful combination of runtime and static type checking that enforces strong contracts on data exchange and keeping it up-to-date.
We also use to make our state, actions, mutations, and getters typed.
So, we use and to build and validate runtime types.