2017-01-23 54 views
10

我知道大多數人有相反的問題,但我真的想禁用自動重新加載功能。如何禁用webpack dev服務器自動重裝?

這是我跑我的服務器:

webpack-dev-server --open --progress 

這是我的dev的服務器配置:

devServer: { 
    contentBase: 'app', 
    port: 9005, 
    hot: false, 
    inline: false 
} 

版本:

"webpack": "1.14.0", 
"webpack-dev-middleware": "1.9.0", 
"webpack-dev-server": "^1.16.2", 
"webpack-hot-middleware": "2.13.2", 
"webpack-md5-hash": "0.0.5" 

在此設置的WebPack開發服務器打開初始頁面爲localhost:9005/webpack-dev-server/,自動重新加載(iframe模式)。當我設置inlinetrue然後它打開localhost:9005和自動重新加載仍然(inline mode => websockets)。

有沒有辦法完全禁用自動重裝?

+0

停止使用webpack-dev-server並根據需要運行構建腳本? – ceejayoz

+1

我可以,但我喜歡我目前的設置,除了這一件事。 –

回答

7

作爲一種解決方法,我從軟件包中排除了webpack客戶端腳本。這似乎阻止了自動重新加載的發生。我通過將這些腳本重定向到一個null加載器來實現這一點。

{test: /webpack-dev-server\\client/, loader: "null-loader"},

+0

爲了後代:爲了讓它在webpack-dev-server 2.4.5的webpack2中工作,我不得不修改這一點。我安裝了https://github.com/webpack-contrib/null-loader,並且必須通過路徑排除: '{test:path.resolve(__ dirname,'node_modules/webpack-dev-server/client'),loader: 「null-loader」}' – spirulence

+0

^^這太好了。完全解決了這個問題。你可以請更新你的答案,包括這個額外的webpack2細節? – Ghazgkull

4

的客戶端的WebPack腳本默認情況下添加到您的包(因爲的WebPack 2),但你可以通過添加--no-inline您的CLI命令禁用這些。

+0

我試過了,它沒有工作。我正在使用webpack 1.x,該選項僅適用於webpack 2.x嗎?我找不到它:https://webpack.github.io/docs/webpack-dev-server.html也沒有https://webpack.github.io/docs/configuration.html –

+1

啊,在iframe模式客戶端腳本始終包含在內。有兩種方法可以解決這個問題。 1)刪除'--open'並手動瀏覽到http:// localhost:9005/ 2)添加'--lazy',那麼刷新頁面時只會重新編譯 – spacek33z

+0

我同意,這不適用於2 .o要麼 – mwilcox

0

沒有找到明顯的解決方案(webpack-dev-server版本1.16.5)。

的部分解決方案似乎是:

webpack-dev-server --watch-poll 99999999999 

這不會自動重建。但是它在初始構建之後仍然會重新加載瀏覽器窗口。

相關問題