간단한 예제를 만들고 싶어서 서버 하나가 필요하였다.
하지만스프링
으로 하기에는 볼륨이 크고디-장고
으로 만들자니 익숙하지 않아서
node express
만들기로 하였다.
이 서버의 경우typescript
기반으로 하며 일단은 도커로 빌드 하려고 한다.
처음으로 해야되는 것은 프로젝트에 npm 을 주입 시켜 주어야 된다.
npm 기반으로 만들기는 하지만 yum 으로도 가능이 하다.
일단 필자는 npm 이 익숙하기에 npm 으로 만들 생각 이다.
npm init
npm 으로 타입 스크립트 , 노드 , nodemon 을 주입 시켜준다
nodemon
은 코드나 변경사항이 있을시 자동으로 주입해준다.
npm install @types/express @types/node nodemon ts-node typescript -- dev
중요한 express 를 설치를 해준다.
npm install express
타입 스크립트 설정파일을 주입 시켜준다.
알아서 자동으로 설정파일이 만들어진다.
간단하게 주석으로 파일이 만들어지는데 필요한 것만 설정을 해준다.
나머지 부분은 주석 그대로 놔두되고 지워도 무방하다.
npx tsc --init
기본 폴더 구조
tsconfig.js
{ "compilerOptions": { "lib": [ "es5", "es6" ], "target": "es5", "module": "commonjs", "moduleResolution": "node", "outDir": "./build", "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true, "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true } }
개발기
"debug" : "nodemon --exec ./node_modules/.bin/ts-node ./src/app.ts"
운영기
"start": "tsc && nodemon --exec node ./build/app.js",
package.json
{ "name": "node_application", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "debug" : "nodemon --exec ./node_modules/.bin/ts-node ./src/app.ts", "start": "tsc && nodemon --exec node ./build/app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/Gon-Zo/Node_Application.git" }, "author": "", "license": "ISC", "bugs": { "url": "https://github.com/Gon-Zo/Node_Application/issues" }, "homepage": "https://github.com/Gon-Zo/Node_Application#readme", "dependencies": { "@types/express": "^4.17.11", "@types/node": "^15.0.1", "express": "^4.17.1", "nodemon": "^2.0.7", "ts-node": "^9.1.1", "typescript": "^4.2.4" } }
일단은 로컬에서 연결을 서버를 올리는 것이기 때문에 디버그 명령어를 써서 올렸다.
위에 개발기 라고 명령어가 적혀있는것을 사용하면된다.
⚠️ 참고용 ./src/app.ts
import express from "express"; class App { public application: express.Application; constructor() { this.application = express(); } } const app = new App().application; app.get("/", (req: express.Request, res: express.Response) => { res.send("start"); }) app.listen(4000, () => console.log("start"));
이렇게 서버가 올라갔다
오늘은 타입스크립트를 이용하여 서버를 만들었다..
타입스크립트와 도커를 이용할 계획인데 잘 만들 수 있을 지 ..
타입스크립트의 가 강력하게 매력적으로 다가와서 일할때는 스프링을 많이 사용하는데
클라이언트 언어로 타입스크립트를 사용하는데 서버로 한번 만들어 보고 싶어서 사용해보는
중이다.
아직 그렇다할 장.단 점을 찾진 못하였다. 그래도 이렇게 간단하게 한다는게 가장 큰 장점인 거 같다.
이상!! 👊