node.js를 시작하기 위해 작업할 폴더를 생성하고 VScode로 폴더를 연다
VScode 터미널에서 아래의 명령을 실행한다
express-generator 설치 (root 디렉토리)
npm install -g express-generator

프로젝트 생성 (root 디렉토리)
아래의 명령으로 새로운 프로젝트를 생성한다
express 프로젝트명

모듈 설치 (프로젝트명 디렉토리)
프로젝트 이름의 디렉토리로 이동한 뒤 아래의 명령을 수행한다
npm install

서버 실행 (프로젝트명 디렉토리)
npm start 명령을 이용하여 서버를 실행시킨다
※ VSCode가 연 디렉토리는 package.json이 있는 위치여야 동작한다
npm start

서버 확인
아래 주소에 접근하여 서버가 정상 동작하는 지 확인한다
http://localhost:3000/

Route 설정
routes 디렉토리 내의 파일 중 index.js 파일을 연다
[ 파일 설명
1. index.js
index.js 파일은 주로 메인 라우터 파일로 사용됩니다. 애플리케이션의 기본 라우트 및 중요한 기본 경로를 정의하는 데 사용됩니다. 보통 루트 경로(/)와 관련된 라우트를 처리합니다.
2. user.js
user.js 파일은 사용자 관련 라우트를 정의하는 데 사용됩니다. 사용자 로그인, 회원가입, 사용자 정보 조회 등과 같은 사용자 관련 경로를 처리합니다.]
아래와 같이 get과 post 명령을 하나씩 추가하였다
status() 내부의 `200`은 http 코드를 의미하며, 메시지는 json 형태로 전달한다
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
//get 추가
router.get('/api/get/api-get', function(req, res){
res.status(200).json({
"message" : "get message from nodejs-api get"
});
});
//post 추가
router.post('/api/post/api-post',function(req, res){
res.status(200).json({
"message" : "get message from nodejs-api post"
});
});
module.exports = router;
서버 확인
서버에서 router의 확인은 아래의 코드로 할 수 있으며
post 요청은 304 또는 404 오류로 웹페이지에서 확인할 수는 없지만 cmd에서는 확인할 수 있다
http://localhost:3000/api/get/api-get
http://localhost:3000/api/post/api-post


프로젝트 생성 권한 문제 발생
"프로젝트 생성 중 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\*\AppData\Roaming\npm\express.ps1 파일을 로드할 수 없습니다." 라는 메시지가 발생하는 경우
VSCode를 관리자 권한으로 열고 아래의 명령을 사용하면 Restricted라고 출력될 것이다
Get-ExecutionPolicy
아래의 방법으로 권한을 조정한 뒤, 다시 express 명령을 사용한다
Set-ExecutionPolicy RemoteSigned
express nodejs_aws
권한을 돌리는 방법은 아래와 같다
[참고: 실행 정책을 변경한 후 작업을 마쳤다면, 원래 설정으로 되돌리는 것이 좋습니다.]
Set-ExecutionPolicy Restricted
출처
[Node.js] 간단한 API 서버 만들기
1. express-generator 설치 1~5 과정은 command 또는 PowerShell에서 작업한다. Express Application Generator Tool : 사용자가 손쉽게 프로젝트를 생성할 수 있도록 도와주는 웹 애플리케이션 프레임워크 2.
velog.io
'서버' 카테고리의 다른 글
| [가비아] 가비아 클라우드 ssh 접속 (0) | 2025.08.20 |
|---|---|
| [가비아] 가비아 클라우드 기본 설정 (0) | 2025.08.19 |
| [AWS] aws 시작하기 (2) | 2024.05.28 |
| Github 블로그 간단하게 생성하기 (0) | 2024.03.02 |
| Github.io를 Jekyll을 이용하여 사용하기 (0) | 2024.02.07 |