webpack自動刷新瀏覽器
webpack開發服務器,是webpack官方提供的一個輔助開發工具,它可以自動監控項目下的文件,一旦有修改保存的操作,它就會自動執行打包命令,將我們的代碼重新打包,並且需要的話還可以刷新瀏覽器。
首先我們安裝webpack-dev-server
在CMD中安裝執行npm intall webpack-dev-server -g
在項目目錄執行安裝依賴命令: npm install --save-dev webpack-dev-server
其中webpack-dev-server有幾個參數
contetnBase 默認webpack-dev-server 會為根文件夾提供本地服務器,如果想為另外一個目錄下的文件提供本地服務器,應該在這里設置其所在的目錄(本例設置到“public”目錄)
port 設置默認監聽端口,如果省略,默認為 8080
inline 設置為true ,當源文件改變時會自動刷新頁面
colors 設置為true,使終端輸出的文件為彩色的
historyApiFallback 在開發單頁應用時非常游泳,它依賴於HTML5 history API,如果設置為true,所有的跳轉將指向index.html
hot:true 允許熱加載
配置項:
devServer:{
contentBase:'./public', //本地服務器所加載的頁面所在的目錄
colors:true,
inline:true, //設置實時刷新
}
再執行一下npm start
如何運行一下這個功能?
webpack-dev-server有兩種啟動模式:
iFrame :該模式下修改嗲嗎會自動打包,但不會刷新瀏覽器
inline: 該模式下修改代碼會自動打包,並且會刷新瀏覽器
顯然,我們需要刷新瀏覽器
在命令行中輸入:webpack-dev-server --inline
需要注意的是,現在用瀏覽器打開index.html需要用localhost:8080或者127.0.0.1:8080,可以在配置項中指定監聽端口。
這里有一個麻煩,打開瀏覽器的時候如果有彈窗,必須先點擊確定之后刷新,能不能有一種只顯示已經修改過的地方呢,比如我們只修改顏色,不想點擊彈窗都可以看出已經修改了。
只需要在參數里添加 hot:true即可,
因為修改了配置項,需要再npm start一下,
然后執行webpack-dev-server --inline --hot回車
瀏覽器打開localhost:8080
修改css文件,會自動修改,而沒有修改彈窗的那部分不會被觸發。
到此webpack學習筆記結束。
----------------------
如果出現執行webpack-dev-server --inline之后如下問題
webpack-dev-server: command not found
顯示沒有找到命令,有兩種解決方法,一是可能沒有安裝全,那么使用cnpm,如果使用了cnpm還是這樣的話,就全局安裝一次,比如 cnpm install webpack-dev-server -g
應該可以解決。再執行webpack-dev-server --inline --hot之類的
如果不行的話,可以參考http://www.jianshu.com/p/397df5dfd09c