반응형
router는 설정한 경로를 찾아가서 해당 하는 모듈을 실행을 시킨다.
가령 html에서 A.html, B.html파일이 있다고 생각해 보자.
A.html에서 B.html로 이동하고 싶으면
A.html에서 <a href="B.html">B 화면으로 이동</a> 작성하고 해당 영역을 클릭하면 B.html 화면으로 이동한다.
nodejs는 각각의 url에 따른 다른 모듈을 접근할 때에 router 설정이 필요하다.
router 설정방법 (nodejs express 프로젝트로 생성)
경로 : app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index'); //router 설정파일 호출
var usersRouter = require('./routes/users'); //router 설정파일 호출
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter); //앱에 설정한 라우터 모듈을 사용할 수 있게 적용
app.use('/users', usersRouter); //앱에 설정한 라우터 모듈을 사용할 수 있게 적용
-------------------아래내용 생량-------------------
nodejs 서버 실행 (http://localhost:3000)
app.js 파일에서 설정한
var indexRouter = require('./routes/index');
app.use('/',indexRouter);
경로 : /routes/index.js
router path : /api/board << router 추가
경로 : /routes/index.js
var express = require('express');
var router = express.Router();
const api = require("./api"); //api router 호출
/* GET home page. */
router.get('/', function(req, res, next) {
console.log("path="+req.path);
next();
});
router.use("/api",api); //api router 적용
router.all('/',(req,res)=>{
res.send("{message:welcome}");
})
module.exports = router;
router path : /api 에서 /board router 설정
경로 : /routes/api/index.js
const router = require('express').Router();
const board = require('./board'); //board router 호출
router.all('*',(req, res, next)=>{
console.log("path="+req.path);
next();
})
router.use("/board",board); //board router 적용
router.all('*',(req, res)=>{
res.status(404).send({success:false, msg:`api unknown uri ${req.path}`});
})
module.exports = router;
router path : /api/board
경로 : /routes/api/board/index.js
const router = require('express').Router();
router.get("/",(req,res)=>{ //화면에 good 노출
res.send("good");
});
router.all('*',(req, res)=> {
res.status(404).send({success:false, msg:'board unknown uri ${req.path}'});
})
module.exports = router;
router /api/board 추가 완료 웹 화면에서 확인
반응형
'IT > nodejs' 카테고리의 다른 글
nodejs cors 알아보자 (도메인간 교차통신허용) (2) | 2020.06.19 |
---|---|
nodejs mysql 연결 후 DB 데이터 호출 (1) | 2020.06.19 |
nodejs mysql 연결 (2) | 2020.06.19 |
nodemon (소스 수정 시 서버 재시작 없이 반영) (0) | 2020.06.19 |
node js 설치방법 (0) | 2020.06.17 |