나는 작업을 시작하고 webpack
A를 node/express
개발 환경 ReactJS
과 서버 측 렌더링 응용 프로그램을 react-router
. dev 및 prod (런타임) 환경에서 각 웹팩 패키지의 역할에 대해 매우 혼란 스럽습니다.
내 이해에 대한 요약은 다음과 같습니다.
webpack
: 웹 애플리케이션의 여러 부분을 결합한 다음 단일 .js 파일 (일반적으로 bundle.js
)로 묶는 패키지 인 도구 입니다. 결과 파일은 응용 프로그램에서로드 할 prod 환경에서 제공되며 코드를 실행하는 데 필요한 모든 구성 요소를 포함합니다. 기능에는 코드 축소, 축소 등이 포함됩니다.
webpack-dev-server
: 웹 사이트 파일을 처리 하는 서버 를 제공하는 패키지입니다 . 또한 bundle.js
클라이언트 구성 요소에서 단일 .js 파일 ( )을 빌드 하지만 메모리에서 제공합니다. 또한 -hot
모든 빌드 파일을 모니터링하고 코드 변경시 메모리에 새 번들을 빌드하는 옵션 ( )이 있습니다. 서버는 브라우저에서 직접 제공됩니다 (예 :) http:/localhost:8080/webpack-dev-server/whatever
. 인 메모리 로딩, 핫 프로세싱 및 브라우저 서비스의 조합을 통해 사용자는 코드가 변경 될 때 브라우저에서 애플리케이션을 업데이트 할 수 있으므로 개발 환경에 이상적입니다.
위의 내용에 의문이 있으시면 아래 내용이 확실하지 않으니 필요한 경우 알려 주시기 바랍니다.
webpack-dev-server
with node/express
을 (를 webpack-dev-server
) 사용할 때 일반적인 문제 는있는 그대로 서버라는 것입니다 node/express
. 따라서이 환경은 클라이언트와 일부 노드 / 익스프레스 코드 (API 등)를 모두 실행하기가 까다 롭습니다. 참고 : 이것은 내가 직면 한 문제이지만 더 자세히 설명하는 이유를 이해하면 좋을 것입니다.
webpack-dev-middleware
: webpack-dev-server
(인 메모리 번들링, 핫 리로딩) 과 동일한 기능을 가진 미들웨어 이지만 server/express
애플리케이션에 삽입 할 수있는 형식입니다 . 그런 식으로 webpack-dev-server
노드 서버 내부에 일종의 서버 ( )가 있습니다. 죄송합니다 : 이건 미친 꿈인가요 ??? 이 작품은 어떻게 개발 및 생산 방정식을 풀고 삶을 더 단순하게 만들 수 있습니까?
webpack-hot-middleware
:이 ... 여기에 갇혀 ... 찾고있을 때이 조각을 찾았 webpack-dev-middleware
습니다. 사용 방법을 모릅니다.
ENDNOTE : 죄송합니다. 잘못된 생각이 있습니다. 복잡한 환경에서 이러한 변종을 이해하려면 정말 도움이 필요합니다. 편한 경우 전체 시나리오를 구축 할 패키지 / 데이터를 더 추가하십시오.
webpack-dev-middleware
(그리고 잠재적으로webpack-hot-middleware
) 사용 합니다. 원하는 특정 기능이없는 경우가 아니면 해당 기능을webpack-dev-server
사용해야합니다.