본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.
운영체제: Windows 10
CLI: Git bash
module | version |
---|---|
nodemon | 2.0.15 |
npm i -g nodemon
nodemon
은 글로벌 모듈이 아니어도 상관없다. 글로벌 설치된nodemon
을 지우고npm i nodemon
으로 로컬 설치해도 본 글의 가이드를 따라가는데 지장이 없다.
다만,nodemon
을 글로벌 설치했다하더라도 바로$ nodemon
명령어로 서버를 실행하려고 하면
Error: Cannot find module 'C:\Users\1\Desktop\portfolios\gallery\proxy\index.js'
에러가 뜬다.index.js
를 찾지 못해서다. 그러므로 글로벌 설치했다면$ nodemon
명령어로는ts
로 작성된node
서버를 실행할 수 없다.
가능한 서버 실행 커맨드는 본 글의package.json
파트에 설명되어 있다.
module | version |
---|---|
express | ^4.18.1 |
ts-node | ^10.9.1 |
@types/express | ^4.17.13 |
@types/node | ^18.0.6 |
npm i express ts-node @types/express @types/node
Typescript
를 컴파일없이 바로 Node.js
환경에서 실행할 수 있도록 해주는 엔진.
Typescript -> Javascript
트랜스파일 과정없이 바로 Typescript
로 실행
"scripts": {
"dev": "nodemon --watch src/**/*ts --exec npx ts-node src/app.ts"
}
위
package.json
설정은nodemon
이 글로벌일때와 로컬 모듈일때 모두 테스트해보니nodemon
이 글로벌이든 로컬 모듈이든 상관없이 정상 작동하므로 걱정없이 복붙해 사용하자.
위 "dev":
명령어를 실행하려면 아래의 커맨드를 터미널에 입력하자.
아직, 서버 파일을 생성하지 않았으므로 서버 파일 후에 커맨드를 실행해야 서버가 실행될것이다.
그러니 서버 파일을 만들도록 하자.
src/app.ts
import express, { Request, Response, NextFunction } from "express";
const app = express();
app.get("/", (req: Request, res: Response, next: NextFunction) => {
res.send("welcome!");
});
app.listen(8080, () => {
console.log("Server listening on port: 8080");
});
$ npm run dev