欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解webpack的文件監(jiān)聽實(shí)現(xiàn)(熱更新)

 更新時(shí)間:2020年09月11日 14:13:46   作者:kaiking_g  
這篇文章主要介紹了詳解webpack的文件監(jiān)聽實(shí)現(xiàn)(熱更新),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

文件監(jiān)聽是在源碼發(fā)生變化時(shí),自動(dòng)重新構(gòu)建出新的輸出文件。
webpack 開啟監(jiān)聽模式,有兩種方式:

1.啟動(dòng) webpack 命令時(shí),帶上 --watch 參數(shù)。
 唯一缺點(diǎn):需要手動(dòng)刷新才能看到變化;

2.在配置 webpack.config.js 中設(shè)置 watch: true。
 優(yōu)點(diǎn):
(1) WDS 不刷新瀏覽器
(2) WDS 不輸出文件,⽽是放在內(nèi)存中
(3) 使⽤用 HotModuleReplacementPlugin 插件

1 第一種方式, --watch

1.1 配置package.json

{
 // ...
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "build": "webpack",
  "watch": "webpack --watch" // 新增配置
 }
 // ...
}

1.2 到控制臺(tái)輸入 npm run watch

1.3 修改文件,保存后,會(huì)自動(dòng)打包,到瀏覽器刷新,才能看到變化。

1.4 文件監(jiān)聽的原理理分析

輪詢判斷文件的最后編輯時(shí)間是否變化

某個(gè)⽂件發(fā)⽣生了了變化,并不會(huì)⽴刻告訴監(jiān)聽者,⽽是先緩存起來,等 aggregateTimeout

module.export = {
 //默認(rèn) false,也就是不不開啟
 watch: true,
 //只有開啟監(jiān)聽模式時(shí),watchOptions才有意義
 wathcOptions: {
 //默認(rèn)為空,不監(jiān)聽的文件或者文件夾,支持正則匹配
 ignored: /node_modules/,
 //監(jiān)聽到變化發(fā)生后會(huì)等300ms再去執(zhí)行,默認(rèn)300ms
 aggregateTimeout: 300,
 //判斷文件是否發(fā)生變化是通過不停詢問系統(tǒng)指定文件有沒有變化實(shí)現(xiàn)的,默認(rèn)每秒問1000次
 poll: 1000
 }
}

2 第二種方式,在配置 webpack.config.js 中設(shè)置 watch: true(熱更新:webpack-dev-server)

2.1 配置package.json

{
 // ...
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "build": "webpack",
  "dev": "webpack-dev-server --open" // 新增配置,運(yùn)行 npm run dev 會(huì)自動(dòng)打開瀏覽器
 }
 // ...
}

2.2 配置webpack.config.js

'use strict'
 
const path = require('path');
var webpack = require('webpack'); // 引進(jìn) webpack
module.exports = {
 // ...
 mode:'development', // production 改為開發(fā)環(huán)境,因?yàn)橹挥虚_發(fā)環(huán)境才用到熱更新
 module:{
 // ...
 },
  plugins:[
   new webpack.HotModuleReplacementPlugin()
  ],
  devServer:{
   contentBase:'./dist',
   hot: true
  }
}

2.3 到控制臺(tái)運(yùn)行 npm run dev,即可運(yùn)行!

到此這篇關(guān)于詳解webpack的文件監(jiān)聽實(shí)現(xiàn)(熱更新)的文章就介紹到這了,更多相關(guān)webpack 文件監(jiān)聽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript 裝逼指南(js另類寫法)

    JavaScript 裝逼指南(js另類寫法)

    如何寫JavaScript才能逼格更高呢?怎樣才能、讓別人一眼看出你不簡(jiǎn)單呢?是否很期待別人在看完你的代碼之后感嘆一句原來還可以這樣寫呢?下面列出一些在JavaScript時(shí)的裝逼技巧,也可說是非常實(shí)用的寫法
    2020-05-05
  • js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖

    js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖

    這篇文章主要介紹了js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖,帶勻速運(yùn)動(dòng)函數(shù)封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • javascript面向?qū)ο蟪绦蛟O(shè)計(jì)(一)

    javascript面向?qū)ο蟪绦蛟O(shè)計(jì)(一)

    這篇文章主要介紹了javascript面向?qū)ο蟪绦蛟O(shè)計(jì),分享給大家一段代碼,注釋里講解的非常詳細(xì),有助于我們理解面向?qū)ο?,這里推薦給大家。
    2015-01-01
  • 最新JavaScript判斷是否是360瀏覽器方法

    最新JavaScript判斷是否是360瀏覽器方法

    這篇文章主要給大家介紹了關(guān)于最新JavaScript判斷是否是360瀏覽器方法的相關(guān)資料,我們?cè)谧鲰?xiàng)目的時(shí)候有用到判斷不同瀏覽器的這個(gè)需求,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-07-07
  • js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義。需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-11-11
  • 淺談Redux中間件的實(shí)踐

    淺談Redux中間件的實(shí)踐

    這篇文章主要介紹了淺談Redux中間件的實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • JavaScript組合模式學(xué)習(xí)要點(diǎn)

    JavaScript組合模式學(xué)習(xí)要點(diǎn)

    組合模式大概是設(shè)計(jì)模式里面使用最為廣泛的模式之一了,模式本身理解起來也比較簡(jiǎn)單,以至于可以毫不費(fèi)力的寫出一個(gè)能用的組合模式偽代碼
    2016-08-08
  • javascript 復(fù)雜的嵌套環(huán)境中輸出單引號(hào)和雙引號(hào)

    javascript 復(fù)雜的嵌套環(huán)境中輸出單引號(hào)和雙引號(hào)

    如果簡(jiǎn)單的嵌套一般都是外面用雙引號(hào),則里面用單引號(hào),反之亦同,如果特別負(fù)責(zé)的嵌套大家看下如下的方法。
    2009-05-05
  • 微信小程序?qū)崿F(xiàn)彈球游戲

    微信小程序?qū)崿F(xiàn)彈球游戲

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • js事件監(jiān)聽機(jī)制(事件捕獲)總結(jié)

    js事件監(jiān)聽機(jī)制(事件捕獲)總結(jié)

    添加事件的js方法也很多,有直接加到頁(yè)面結(jié)構(gòu)上的,有使用一些js事件監(jiān)聽的方法,由于各個(gè)瀏覽器對(duì)事件冒泡事件監(jiān)聽的機(jī)制不同
    2014-08-08

最新評(píng)論