如何讓 webpack 和 iis express 協同工作?
我有Angular 2 和 Webpack 2 啟動器,它們通過 webpack-dev-server 在節點上執行,我用 web-api 從 Visual Studio 執行它。
問題是當 angular2-webpack-starter 在埠 3000 上執行 webpack-dev-server 時。而 IIS Express 在不同的埠 5000 上執行。
這對我來說非常重要,因為我想使用 HMR 並在每次更改文件時重新載入。
那麼,如何將它們結合在一起呢?在同一個埠上執行?或任何其他解決方案?
我找到了 !- 結合現有伺服器摘要和範例:
您可能希望在開發中執行後端伺服器或模擬它。你不應該使用 webpack-dev-server 作為後端。它的唯一目的是提供靜態(webpacked)資產。
您可以並排執行兩台伺服器:webpack-dev-server 和後端伺服器。
在這種情況下,您需要教導 webpack 生成的資產向 webpack-dev-server 發出請求,即使在後端伺服器發送的 HTML 頁面上執行時也是如此。另一方面,您需要教您的後端伺服器生成 HTML 頁面,其中包含指向 webpack-dev-server 上資產的腳本標籤。除此之外,您還需要在 webpack-dev-server 和 webpack-dev-server 執行時之間建立連接,以在重新編譯時觸發重新載入。
要教 webpack 向 webpack-dev-server 發出請求(用於塊載入或 HMR),您需要在 output.publicPath 選項中提供完整的 URL。
要在 webpack-dev-server 與其執行時之間建立最佳連接,請使用帶有 –inline 的內聯模式。webpack-dev-server CLI 自動包含一個建立 WebSocket 連接的入口點。(如果將 webpack-dev-server 的 –content-base 指向後端伺服器,也可以使用 iframe 模式。如果需要與後端伺服器建立 websocket 連接,則必須使用 iframe 模式。
當您使用內聯模式時,只需在 Web 瀏覽器中打開後端伺服器 URL。(如果您使用 iframe 模式,請打開 webpack-dev-server 的 /webpack-dev-server/ 前綴 URL。)
https://webpack.github.io/docs/webpack-dev-server.html#combining-with-an-existing-server