2016-06-29 119 views

回答

15

根據的WebPack文檔@https://webpack.github.io/docs/tutorials/getting-started/#watch-mode

當使用計時模式的WebPack安裝文件觀察到了在編譯過程中使用的所有文件, 。如果檢測到任何變化, 它會再次運行編譯。啓用緩存時,webpack 會將每個模塊保存在內存中,如果未更改,將會重新使用它。

所以,基本上,運行webpackwebpack --watch之間的區別在於,在使用--watch,您的CLI將在編譯過程中等待你的文件中的任何代碼更改後掛機,如果有變化的話,那將重新編譯並再次等待。你應該知道,如果你使用的是webpack-dev-server,那麼你不需要使用這個選項,因爲webpack-dev-server默認根據其文檔使用webpack的watch模式:

dev服務器使用webpack的手錶模式。它還可以防止webpack 將結果文件發送到磁盤。相反,它保留和提供內存中生成的文件。

那麼,什麼是webpack-dev-server --hot?基本上,這會將HotModuleReplacementPlugin添加到webpack配置中,這基本上允許您僅重新加載更改的組件,而不是整個頁面刷新!當你與國家合作的時候,這很有用!根據文檔:

每種模式還支持熱模塊替換,其中包 通知發生更改而不是整頁重裝。熱 模塊替換運行時可以然後加載更新的模塊,並將它們注入正在運行的應用程序。

上它是什麼,以及如何在這裏使用它的更多信息:https://webpack.github.io/docs/webpack-dev-server.html#hot-module-replacement

我希望這有助於理解的WebPack多一點!

+1

因此,如果我只是在Windows上使用IIS,那麼我並不需要運行'webpack-dev-server',那麼對吧? – Niner

+2

是的,這是正確的。因此,我們假設您以watch模式運行webpack,並且您已將webpack輸出您的編譯文件到一個'dist'文件夾。在IIS中,你可以指向這個'dist'目錄。您進行了更改,並將'dist'文件夾中的所有文件替換爲新編譯的文件。然後,您必須手動點擊瀏覽器上的刷新按鈕才能看到更改,這些更改在開發時可能會令人討厭。 –

相關問題