[Typescript] NodeJS에서 Typescript 사용하기
NodeJS에서 Typescript를 사용하기 위한 빠른 환경 설정 방법을 정리한다.
설치
먼저 테스트를 위한 폴더를 만들고 Node환경을 만든다. package.json을 파일 생성한다.
$ npm init -y
필요한 패키지를 설치한다.
$ npm i -g typescript@latest
$ npm i -g ts-node
$ npm i @types/node --save-dev
환경설정
Typescript 환경파일을 생성한다.
$ tsc --init
tsconfig.json파일 환경을 설정한다. typeRoots와 exclude를 추가한다. (tsocnfig.json의 상세내역 참조)
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": false
},
"typeRoots": ["node_modules/@types"],
"exclude": [
"node_modules"
]
}
테스트
테스트 파일을 생성한다.
$ touch index.ts
$ vi index.ts
const hi = 'hello peter';
console.log(hi);
테스트를 위해 소스 변경을 런타임시에 체크하고 적용하는 nodemone을 설치한다.
$ npm i nodemon --save-dev
테스트 스크립트를 package.json의 scripts 항목에 추가한다.
$ vi package.json
{
...
"scripts": {
"start": "npm run build:live",
"build:live": "nodemon --exec ./node_modules/.bin/ts-node ./index.ts"
},
...
}
테스트한다.
$ npm start
> typescript@1.0.0 start /Users/dowonyun/prototyping/typescript
> npm run build:live
> typescript@1.0.0 build:live /Users/dowonyun/prototyping/typescript
> nodemon --exec ./node_modules/.bin/ts-node ./index.ts
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `./node_modules/.bin/ts-node ./index.ts`
hello peter
[nodemon] clean exit - waiting for changes before restart
또는 ts-node를 설치해서 수행해도 된다.
$ npm install --save ts-node
$ ts-node ./index.ts
참조
- https://basarat.gitbooks.io/typescript/docs/quick/nodejs.html
- https://nodemon.io/
- https://github.com/TypeStrong/ts-node