2.1 KiB
categories | tags | ||
---|---|---|---|
|
|
Setup and configuration
Installation and configuration
TypeScript offers custom installations for most modern JS-based frameworks including Webpack, React.js and Vue.js. The instructions below cover minimal TS set-up outside of a specific framework. TypeScript adds an additional step to any build process since your code must compile to JS before any bundling and transpilation can occur.
Installation
mkdir typescript-project
cd typescript-project
npm i typescript --save-dev
Initialise project
npx tsc --init
Basic configuration
"compilerOptions": {
"target" : "es2020", //es2015 for prod
"module" : "es2020",
"allowJs": true,
"checkJs": true,
"strict": true,
"esModuleInterop": true
}
Specify output paths (for production code)
"compilerOptions": {
...
"outDir": "dist",
"sourceMap": true,
}
Compile-time commands
tsc --noEmit
tsc --noEmit --watch
Global requirements
npm install -g typescript
npm install -g ts-node
ts-node
allows you to run TS files the way you would with standard JS, i.e.
node [filename]
, you just use ts-node filename
.
This is a convenience that saves you compiling from TS → JS and then running Node against the compiled JS. Which is useful for debugging and checking values as you work.
Imports and exports
You may wish to define your custom types outside of their application, for
instance in a /types/
directory. The custom type or types can then be imported
using standard ES6 imports:
export type Article = {
title: string,
price: number,
}
export type AnotherType = {
...
}
import { Article, AnotherType } from "./types/allTypes.js";
import Article from "./types/allTypes.js";
TypeScript also provides a specific import keyword type
so that you can
distinguish type imports from other module imports. This is handy when you have
multiple components in the one file:
import type { Article } from "./types/allTypes.js";