app.js 내부의 명령어들은 어떤 신호를 언제 받아서 어떻게 콜 되나요?
183
작성한 질문수 28
안녕하세요. 좋은 강의 잘 듣고 있습니다. app.js가 총괄하는 우주선의 조종실 이라는 설명도 비유가 적절한 것 같습니다.
그러나, 갑자기 궁금한 점이 생겼는데, app.js의 내용들을 보면 대체로
app.use 같은 미들웨어들을 끼워 맞춰 놓은 형식입니다.
근데 본문을 보면
app.use('/', indexRouter); 이런식인데, 이말은 결국 프로그램 실행시 모든
app.use()같은 친구들을 전부 한번 실행하란 말 아닌가요? 그리고 그 이후에는??
evantListener, ajax 명령어 같은 게 있어야, 언제 어느 미들웨어들을 실행하는지를 정할 수 있을 텐데 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');
var usersRouter = require('./routes/users');
var commentsRouter = require('./routes/comments')
var {sequelize} = require('./models')
var app = express();
sequelize.sync();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
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);
app.use('/comments', commentsRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
답변 2
0
app.js는 서버를 실행할 때 처음 1회만 실행됩니다. 메모리에 저 app.use같은 것들이 기억되고 있다가, 요청이 들어오면 그 때 미들웨어를 실행할 지 익스프레스가 결정합니다. 이벤트 리스너(http.createServer)도 익스프레스 안에 들어 있습니다.
실제 서비스에서도 cluster를 사용하나요?
1
314
2
캐싱에 관하여
0
279
3
salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?
0
347
1
게시물 올리기 오류
0
408
1
캐슁 이후 로그인창
0
266
1
kakao passport 질문있습니다.
0
493
3
global객체 공유 질문드립니다.
1
418
1
서버가 죽어버리네요
0
1047
8
포링키 문제..
0
235
2
커넥션 플래시 설치문제
0
216
2
익스프레스 제너레이터? 설치문제
0
2586
6
redis 질문입니다.
0
305
1
9장 세션을 DB에 저장시 리다이렉션 오류 발생
0
874
8
프레임워크 선택에 관하여 질문이 있습니다.
0
300
3
시퀄라이즈 질문입니다 ! !
0
588
1
리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문
0
922
6
oAuth 질문입니다.
0
356
3
GCP 질문입니다.
0
366
1
Passport 모듈 로그인 구현관련
0
720
6
카카오 로그인 관련 질문입니다!!
0
606
4
스스로 해보기 10-16 nunjuncks 질문있습니다
0
499
5
제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.
0
317
2
gif채팅방 nunjucks관련 질문입니다!
0
338
3
현영님 몽고db관련 질문입니다.
0
233
3





