nodejs api 예제 : express
- hello를 반환하는 express 를 사용한 nodejs 백엔드 api 예제 입니다.
1. nodejs 설치
다운로드 | Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
2. 예제 소스코드 다운로드
github.com/vipick/nodejs-example
vipick/nodejs-example
Contribute to vipick/nodejs-example development by creating an account on GitHub.
github.com
- 소스코드 주요 폴더 및 파일
app/controllers/hello.controllers.js | 컨트롤러 |
app/routes/index.js | 라우터 |
.gitignore | git 으로 관리하지 않는 파일/폴더를 지정 |
app.js | 메인 |
server.js | app.js 를 실행 |
package.json | 외부 프로그램 버전 관리 |
3. package.json 설치 (npm install)
- 다른 사람들이 만들어 놓은 프로그램에 대한 버전 관리를 하는 파일입니다.
- 이 예제에서는 express, morgan, nodemon 등 을 사용하고 있습니다.
- npm install 명령어 시 package.json 의 dependencies에 작성된 외부 프로그램 버전이 node_modules 폴더에 설치됩니다.
- node_modules 을 용량이 커서 git으로 버전관리 하지 않기 때문에 .gitignore에 포함시킵니다.
4. 개발 환경 실행 (npm run dev)
- 실행 명령어는 package.json 파일 내부에서 scripts/dev 에 정의 되어 있습니다.
- 먼저 server.js 가 실행되고, 그 다음 app.js 를 실행하고 app/routes/index.js (라우터)를 불러옵니다.
- 라우터에는 api 호출 방법이 적혀있고, 실제 기능은 helloContrller의 getHello 함수에 있습니다.
4-1) app/routes/index.js
module.exports = function (app) {
const helloController = require("../controllers/hello.controller.js");
app.get("/hello", helloController.getHello);
};
4-2) app/controllers/hello.controller.js
exports.getHello = async (req, res) => {
return res.status(200).json({
description: "hello 가져오기 성공!",
content: "hello",
});
};
5. API 실행 (http://localhost:8001/hello)
- 브라우저에서 위의 URL를 실행시키면, hello 반환 값를 가져오는 것을 확인 할 수 있습니다.