2016-06-04 2 views
1

webpack 서버가 번들로 제공되고 클라이언트 측 코드를 제공하고 API를 표현하는 응용 프로그램에 대해 webpack 서버를 사용하려는 이유를 이해하려고합니다.명시 적으로 webpack dev server를 사용하는 목적은 무엇입니까?

예를 들면. 다른 포트에서 실행중인 포트 및 웹 팩에서 명시 적으로 실행하고 백팩의 백엔드로 webpack에 대한 모든 요청을 프록시 처리한다고 가정합니다.

const app = express(); 
const compiler = webpack(config); 

app.use(express.static(__dirname + '/dist')); 
app.use(webpackMiddleware(compiler); 
app.use(webpackHotMiddleware(compiler)); // And this line 

이 서버 명시 적 사용을 가진 이유는 무엇 :

그러나, 나는이 사용을보고 계속?

답변

2

웹팩이 서버에서 작동하지 않는다면, 브라우저에 MDN 모듈을 포함하도록 작성하는 방법입니다. 코드에서 webpack은 "래칭 온 (latching on)"하여 표현하고 요청 중 일부를 처리합니다. 이것은 미들웨어라고 불리며, node.js에있는 대부분의 서버 라이브러리의 백본입니다 (Meteor 제외). 이 코드에는 익스프레션이 다른 방법을 나타내는 방식으로 분류하기를 좋아하지만 단 하나의 서버 만 있습니다. 코드의 중요한 라인을 살펴 보겠습니다 :

const app = express(); 
const compiler = webpack(config); 

app.use(express.static(__dirname + '/dist')); 

위의 줄은/dist를보고 브라우저에 줄 파일이 있는지 확인합니다. 정상적으로이 미들웨어는 대개 동적 페이지가 처리되기 전에 발생합니다.

app.use(webpackMiddleware(compiler); 
app.use(webpackHotMiddleware(compiler)); // And this line 

정적 서버가이 요청을 처리 할 수없는 경우, 다음 웹팩 템플릿을 그들에게이 도움이되었다

희망,
브랜든 맥과이어 대답에 대한

+0

감사를드립니다. Webpack dev 서버를 자체 포트 (완전히 별개)에서 실행하고 서버에서 명시 적으로 실행하는 것보다이 방법으로 이점을 얻을 수 있습니까? 웹팩 서버에 대한 모든 요청이 익스프레스 서버를 통해 프록시 된 것 외에는 전혀 상호 작용이 없습니다. – Detuned

+0

익스프레스 및 웹팩 믹스를 사용할 수 있으므로 이론적으로 익스프레스를 기반으로 webpack을 변경할 수 있습니다. 하나의 포트 뒤에 모든 것을 유지함으로써 서버 헤게모니가 있습니다. – MayorMonty

+0

express를 기반으로 webpack을 변경하는 방법/이유는 확실하지 않습니다. webpack 서버 자체는 독립적 인 서버이므로 관계없이 자체 포트에서 실행해야합니다. – Detuned

관련 문제