저는 Apollo-Client 및 GraphQL을 사용하는 React 상용구를 작업 중입니다. 내 응용 프로그램은 하나의 노드 프로세스가 실제로 응용 프로그램을 렌더링하는 포트 3000에서 Express 서버를 실행하고 webpack-dev-middleware
을 사용하여 포트 3을 사용하는 포트 3001에서 다른 JavaScript 서버를 패키지하고 제공하도록 설정되었습니다. 대신이 실제로 webpack-dev-middleware
에 의해 제공되고 있었다 http://localhost:3001/static/js/bundle.js의 http://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);
});
:
왜 두 개의 별도 Express 서버가 있어야합니까? – robertklep
하나는 서버 측 (사전) 렌더링을 수행하기위한 것이고 다른 하나는 개발 목적을위한 것일뿐 프로덕션 환경에서는 사용되지 않습니다. – Kamaros
둘 다 Express 서버를 둘 다 사용합니다 (프로덕션 환경이 아닌 경우에만 Webpack 미들웨어를로드합니다). – robertklep