0

저는 Apollo-Client 및 GraphQL을 사용하는 React 상용구를 작업 중입니다. 내 응용 프로그램은 하나의 노드 프로세스가 실제로 응용 프로그램을 렌더링하는 포트 3000에서 Express 서버를 실행하고 webpack-dev-middleware을 사용하여 포트 3을 사용하는 포트 3001에서 다른 JavaScript 서버를 패키지하고 제공하도록 설정되었습니다. 대신이 실제로 webpack-dev-middleware에 의해 제공되고 있었다 http://localhost:3001/static/js/bundle.jshttp://localhost:3000/static/js/bundle.js에서 번들을 요청하려고했기 때문에, <script src="/static/js/bundle.js />를 사용하여 내 번들을로드 할 때webpack-dev-middleware가 번들로 제공되는 앱보다 다른 포트

나는 404를 얻고 있었다.

내 앱이 /static/js/bundle.js에서 JS 번들에 액세스 할 수 있도록 webpack-dev-middleware 또는 내 앱 서버를 구성하는 방법이 있나요? http://localhost:3001을 앞에 붙이지 않아도됩니까? 당신은이 경로는 개발 기간 동안 추가되어 있는지 확인해야

const request = require('request'); 
... 
app.get('/static/js/bundle.js', (req, res) => { 
    req.pipe(request.get('http://localhost:3001/static/js/bundle.js')).pipe(res); 
}); 

:

+0

왜 두 개의 별도 Express 서버가 있어야합니까? – robertklep

+0

하나는 서버 측 (사전) 렌더링을 수행하기위한 것이고 다른 하나는 개발 목적을위한 것일뿐 프로덕션 환경에서는 사용되지 않습니다. – Kamaros

+0

둘 다 Express 서버를 둘 다 사용합니다 (프로덕션 환경이 아닌 경우에만 Webpack 미들웨어를로드합니다). – robertklep

답변

0

당신은이 같은 뭔가 할 수 :3000/static/js/bundle.js에서 :3001/static/js/bundle.js에 프록시 요청해야합니다.

관련 문제