2017-12-17 16 views
0

두 개의 개별 응용 프로그램이 있습니다. 그 중 하나는 Express가있는 노드에있는 내 API이고 다른 하나는 리액터 라우터에 대한 프런트 엔드입니다.별도의 노드 및 리 막 응용 프로그램 : 익스프레스 패스 스루가 라우터를 반응하도록 허용

일반적으로 작은 응용 프로그램을 만들 때 동일한 repo에 클라이언트 코드와 함께 서버 코드를 배치 할 수 있지만이 경우 별도의 repos입니다. 나는 경로가 일치하지 않는 경우 통과 익스프레스에서 라우터 반응 할 수 있도록 노력하고, 우리는 전통적으로 이런 식으로 작업을 수행합니다

app.get('*', function(req, res) { 
    res.sendFile(path.resolve(__dirname + 'dist/index.html')); 
}); 

문제를 참조하십시오? 내 서버에는 dist 폴더가 없으므로 index.html을 사용할 수있는 참조가 없습니다. 내가 CDN에 모든 프런트 엔드 코드를 업로드하고 네트워크 요청을 내 API로 프록시하기 만하면 Repos가 발생했습니다.

res.sendFile catch-all에서 해결할 파일이나 경로가 없다면 Express에서 라우터로의 통과를 허용하려면 어떻게합니까?

답변

0

약간의 해킹이 있었지만이 방법이 실제로 작동한다는 것을 깨달았습니다. 실제로 시도해 보았습니다. 이 단계를 더 진행하고 req.headers에서 리퍼러를 추출 할 수도 있습니다.

request("https://yourwebsite.com/index.html",(error, response, body) => { 
     res.send(body) 
    }