2017-12-22 7 views
0

노드 & Express를 사용하여 서버를 설정했습니다. GET /을 제외한 모든 경로가 작동합니다. 보내지는 파일을 보여주는 대신 항상 index.html (공용 폴더에도 있음)을 보여줍니다. index.html의 이름을 다른 것으로 변경하거나 제거하면 GET/routing이 작동합니다.index.html에 대한 자동 라우팅 억제

const publicPath = path.join(__dirname, '../public'); 

app.use(express.static(publicPath)); 

app.get('/', (req, res) => { 
    res.sendFile(publicPath + '/login-register.html'); 
}); 

index.html의 자동 렌더링을 억제하는 방법이 있습니까?

편집 : 유용 할 수도 있습니다. 내 콘솔이나 Chrome 개발자 도구에서 오류가 발생하지 않습니다.

답변

2

index.html 디렉토리에 파일이있어 브라우저에 해당 파일이 있으므로 static 미들웨어가 / 경로와 일치하기 때문에 이런 현상이 발생합니다. / 경로가 이미 일치되어 두 번째 미들웨어 기능이 실행되지 않습니다. 미들웨어 함수 선언의 순서를 바꾸면 예상대로 작동해야합니다.

app.get('/', (req, res) => { 
    res.sendFile(publicPath + '/login-register.html'); 
}); 

app.use(express.static(publicPath));