# 라우터 넘기기
app.get('/',(req,res,next)=>{
res.sendFile(path.join(__dirname,'/index.html'));
if(false){
next('route')
}else{
next()
}
},(req, res)=>{
res.send('라우터1')
})
app.get('/',(req,res,next)=>{
res.send('라우터 2')
console.log('라우터 2')
})
먼저 슬레시로 들어가면 if 조건이 true 이면
next('route')가 있다.
그럼 라우터 1로 연결되는게아니라 라우터 2가 연결된다.
다음라우터라는 뜻이 밑에 연결된 미들웨어가 아니라 '다음라우터'라는 뜻이다
만약 조건이 false면 라우터 1로 연결되겠지.
이걸로 로그인한사람은 어디접속, 아닌사람은 어디접속 이렇게 나눌수 있음.
# static
app.use('/', express.static(path.join(__dirname, 'public-3030')));
localhost:3000/hello.html으로 접속하면
실제로는
localhost:3000/public-3030/hello.html 에러 파일 가져와줌.
보안에 좋음
스테틱은 미들웨어 모건 다음에 넣는게 좋음. 단순작업은 먼저 실행되는게 좋아서
# 라우터끼리 데이터넘기기
//미들웨어 다 실행하는거
app.use((req,res,next)=>{
req.dataa = '하잉'
next()
})
//미들웨어 다 실행하는거
app.get('/',(req,res,next)=>{
res.sendFile(path.join(__dirname,'/index.html'));
console.log(req.dataa)
})
라우터간 데이터는 req.암거나 = '머시기'
해서 다음라우터에서 갖다쓸수있음.
마지막 요청까지 하고 데이터 없어짐. 안전함
http때처럼 전역변수만들고 거기채워서 부르고 하면 안좋음!!
# 미들웨어 확장
app.use('/', (req,res,next)=>{
if(req.session.id){
express.static(__dirname, 'public-3030')(req,res,next)
}else{
next()
}
})
미들웨어 확장
req.session.id가 있으면 퍼블릭폴더에 정적파일들 연결해주고
없으면 그냥 다음라우터로 ㄱㄱ
세션아이디(로그인)있으면 정적파일들 가져와서 파일연결해주고
없으면 next()로 다음라우터 넘기기.
다음라우터에는 로그인하세요 저리가세요 등등 넣겠지?
# dotenv 비밀키 관리
const dotenv = require('dotenv');
dotenv.config();
경로 폴더에 .env만들고 거기에
이렇게 비밀키 정리함.
그리고 코드에서
console.log(process.env.COOKIE_SECRET)
저렇게 코드불러올수있음.
비밀키 통합관리하기 좋고 보안에 좋음
'javaScript > nodeJs' 카테고리의 다른 글
vue&express 연동// 제곧내 (0) | 2022.07.16 |
---|---|
nodejs // 휴대폰에서 테스트하기. (0) | 2022.07.03 |
nodejs express // #3 cookie, session 다루기 (0) | 2022.07.02 |
nodejs express // #2 미들웨어, app.set, 에러처리 (0) | 2022.07.01 |
nodejs express // #1 서버 시작 (0) | 2022.07.01 |