express-generator
- 터미널에서 아래 명령어를 통해 express-generator를 설치
- express-generator : 프로젝트를 간단하게 생성해주는 도구
npm install -g express-generator
프로젝트 생성
express [프로젝트 명]
# 프로젝트 생성로그
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
create : nodejs-api\
create : nodejs-api\public\
create : nodejs-api\public\javascripts\
create : nodejs-api\public\images\
create : nodejs-api\public\stylesheets\
create : nodejs-api\public\stylesheets\style.css
create : nodejs-api\routes\
create : nodejs-api\routes\index.js
create : nodejs-api\routes\users.js
create : nodejs-api\views\
create : nodejs-api\views\error.jade
create : nodejs-api\views\index.jade
create : nodejs-api\views\layout.jade
create : nodejs-api\app.js
create : nodejs-api\package.json
create : nodejs-api\bin\
create : nodejs-api\bin\www
change directory:
> cd nodejs-api
install dependencies:
> npm install
run the app:
> SET DEBUG=nodejs-api:* & npm start
실행
- 생성된 폴더 내에서 npm start 명령을 통해 실행
- 아래와 같은 에러 발생 경우 npm install 을 통해 설치
Error: Cannot find module 'http-errors'
Require stack:
- C:\Users\...\nodejs-api\app.js
- C:\Users\...\nodejs-api\bin\www
at Function._resolveFilename (node:internal/modules/cjs/loader:1249:15)
at Function._load (node:internal/modules/cjs/loader:1075:27)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:219:24)
at require (node:internal/modules/helpers:138:16)
at Object.<anonymous> (C:\Users\Q219057\nodespace\nodejs-api\app.js:1:19)
at Module._compile (node:internal/modules/cjs/loader:1565:14)
at Object..js (node:internal/modules/cjs/loader:1708:10)
at Module.load (node:internal/modules/cjs/loader:1318:32) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\Users\\Q219057\\nodespace\\nodejs-api\\app.js',
'C:\\Users\\Q219057\\nodespace\\nodejs-api\\bin\\www'
]
}
- 정상적으로 실행되었다면 http://localhost:3000/로 접속하여 확인
테스트
- routes/ 경로에 ~~.js 를 만들어 테스트용 코드작성
var express = require('express');
var router = express.Router();
router.get("/",function(req,res,next){
res.send(JSON.stringify({
code : 200,
name : req.query.name
}));
});
module.exports = router; // app.js에서 사용하기위해 export
- app.js 에 라우터 정의 및 추가
//app.js
// ...
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var testRouter = require('./routes/test'); // 추가한 router 정의
// ...
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/test', testRouter); // 추가한 router 바인딩
// ...
- http://localhost:3000/test?name=test url을 통해 확인
'Script > Node.js' 카테고리의 다른 글
[Node.js] Node.js Restful API Example (0) | 2025.01.13 |
---|---|
[Node.js] Node.js 유용한 패키지들 (0) | 2025.01.13 |
[Node.js] Node.js EJS 템플릿 적용 (0) | 2025.01.06 |
[Node.js] Node.js로 간단한 Todo리스트 API 만들기 (0) | 2025.01.03 |
[Node.js] Node.js 시작하기 (0) | 2025.01.02 |