간단한 메모, 필기
노드 모니터
서버 코드가 수정될 때마다 서버가 자동으로 제안됩니다.
const express = require('express');
const app = express();
app.set('port', 3000);
app.get('/', (req, res) => {
res.send('Hello Express');
});
app.listen(app.get('port'), () => {
console.log(app.get('port'), '번 포트로 서버 열림');
});
app.set을 통해 서버가 실행될 포트를 지정합니다.
app.get(address, router)의 경우 주소에 대한 GET 요청이 올 때 수행할 조치
요청에 의해 게시, 넣기, 패치, 삭제 및 옵션이 프로토타입 방식으로 존재합니다.
HTML로 회신
res.sendFile(path.join(__dirname, '/index.html'));
__dirname: 경로
미들웨어 사용
요청과 응답 중간에 위치합니다.
라우터 및 오류 처리기도 미들웨어 유형입니다.
app.use(미들웨어)
다음 양식을 사용하십시오.
app.use((err, req, res, next) => {
console.error(err);
res.status(500).send(err.message);
});
next
다음 미들웨어로 전달되는 함수
app.get(
'/',
(req, res, next) => {
console.log('GET요청이네용');
res.sendFile(path.join(__dirname, '/index.html'));
next(); //이게 없으면 다음 화살표 함수는 수행되지 않음
},
(req, res) => {
throw new Error('에러는 에러처리 미들웨어로 갑니다.
');
}
);
app.use((err, req, res, next) => {
console.error(err);
res.status(500).send(err.message);
}); //전체 url에서 수행됨
주소를 첫 번째 인수로 전달하지 않으면 미들웨어가 모든 요청에서 실행됩니다.
app.use(미들웨어) // => 모든 요청에서 사용
app.use('/abc',미들웨어) // => /abc로 시작하는 요청에서 미들웨어 실행
app.post('/abc',미들웨어) // => /abc로 시작하는 POST 요청에서 미들웨어 실행
모건
콘솔에 대한 요청 및 응답에 대한 로그 정보
app.use(morgan('dev')
dev 외에도 Combined, Common, Short, Tiny 등이 있습니다.
로그는 매개변수에 따라 달라집니다.
변화 없는
정적 파일 제공
함수에 대한 인수로 정적 파일이 포함된 폴더를 지정하기만 하면 됩니다.
app.use('/', express.static(path.join(__dirname, 'public')));
라우터
const app = express();
app.set('port', process.env.PORT || 3000);
const indexRouter = require('./routes');
const userRouter = require('./routes/user');
app.use('/', indexRouter);
app.use('/user', userRouter);
/및/사용자 등록
// routes/index.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello, Express');
});
module.exports = router;
// routes/user.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello, User');
});
module.exports = router;
와일드카드 URL
일반 라우터 뒤에 있어야 합니다.
//user.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello, User');
});
router.get('/:id', (req, res) => {
console.log(req.params, req.query);
res.send(req.params);
});
module.exports = router;
params.id 형태로 검색 가능