這是我參與更文挑戰的第3天,活動詳情查看:更文挑戰javascript
每一次,咱們改變完了咱們的代碼,若是想正確的可以在瀏覽器上運行,都須要在npm run build
後手動打開dist目錄下的html文件,這樣辦才能實現代碼的從新編譯運行。這樣的話,實際上咱們的開發效率是很是低下的。我但願若是我改動了代碼,那麼dist目錄就會自動從新打包,若是能達到這種效果就不用每次打包後手動開啓html了,下面咱們來看下如何實現。html
// 安裝 npm i -D webapck-dev-server
module.exports = {
devServer: {
open: true,
port: 3000,
hot: true,
hotOnly: true
},
}
複製代碼
咱們藉助devServer
開啓了一個本地服務器前端
open
是什麼意思呢?
npm run dev
啓動webpackDevServe的時候open
會自動幫你打開一個瀏覽器,而後自動地訪問你本地的地址,默認就是localhost:8080
;port
是什麼意思呢?
port
,例如上述代碼把端口號改成3000運行;hot
是什麼意思呢?
Source Map
?在前端開發過程當中,一般咱們編寫的源代碼會通過多重處理(編譯 封裝 壓縮等),最後造成產物代碼。因而在瀏覽器中調試產物代碼時,咱們每每會發現代碼變得面目全非,報了一個錯卻找不到在哪一行,所以,咱們須要一種在調試時將產物代碼顯示回源代碼的功能,source map
就是實現這一目標的工具。java
對於同一個源文件,根據不一樣的目標,能夠生成不一樣效果的source map。它們在構建速度 質量 訪問方式和文件大小等方面各不相同。在開發環境和生產環境下,咱們對於source map功能的指望也有所不一樣:webpack
module.exports = {
mode: 'development',
devtool: 'eval-cheap-modulesource-map',
}
複製代碼
source map的預設有不少想了解的能夠去官網查閱,不一樣的預設會影響到構建的速度以及包的大小和生成方式,若是在生產環境中不須要查看報錯行數的能夠不設source map提高頁面性能。web
開發環境預設推薦eval-cheap-modulesource-map
它的質量與初次/再次構建速度都屬於次優級,以犧牲定位到列的功能爲代價換取更快的構建速度一般也是值得的。npm
以上就是webpack中比較經常使用的一些實戰配置了,詳細配置還請翻閱文檔進行學習;瀏覽器