2016-10-29 262 views
8

我有Angular 2 and Webpack 2 starter,它通過webpack-dev-server在節點上運行,我使用web-api從visual studio運行它。如何讓webpack和iis一起工作?

問題是,當angular2-的WebPack起動運行在端口3000和IIS快遞的WebPack-DEV-服務器的不同端口上運行5000

,因爲我想用HMR和重裝這是對我很重要每次文件改變。

那麼,怎樣才能把它們結合在一起呢?在相同的端口上運行?或任何其他解決方案?

回答

11

我發現它! - 結合現有服務器 摘要和示例:

您可能想要在開發中運行後端服務器或模擬它。你不應該使用webpack-dev-server作爲後端。它唯一的目的是提供靜態(webpacked)資產。

您可以並排運行兩個服務器:webpack-dev-server和後端服務器。

在這種情況下,即使運行在由後端服務器發送的HTML頁面上,您也需要教導webpack生成的資產向webpack-dev-server發出請求。另一方面,您需要教您的後端服務器生成包含腳本標記的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模式。

當您使用內聯模式只是在你的網頁瀏覽器打開後端服務器URL(如果你使用的iframe模式打開的WebPack-DEV-服務器的/的WebPack-dev的服務器/前綴的網址)。

https://webpack.github.io/docs/webpack-dev-server.html#combining-with-an-existing-server

+4

你有一個與我們的工作webpack配置這個解決方案或與示例代碼的良好鏈接的git例子? – squadwuschel

0

接受的答案是1版本。如果您使用的版本2,你可以使用VUE模板,讓你開始。

根據現有的vue模板,我製作了一個vue模板,您可以使用vue-cli進行安裝。這個模板快速啓動您可以擴展或集成到您現有環境中的vue應用程序。

npm install -g vue-cli 
vue init delcon/webpack-simple 
cd my-project 
npm install 

devwatch:

此模板有手錶filechanges而不是使用的WebPack-DEV-服務器的額外的運行devwatch選項。這使其可用於任何現有的Web服務器環境。它使用livereload來更新瀏覽器的更改。

npm run devwatch 

開發:

使用默認的WebPack-dev的服務器上運行它,刪除<script src="http://localhost:35729/livereload.js"></script>index.html

npm run dev 

編譯:

建立你生產項目:

npm run build 
相關問題