webpack-dev-server啟動了乙個使用express的http伺服器,這個伺服器與客戶端採用websocket通訊協議,當原始檔案發生改變,webpack-dev-server會實時編譯。
這裡注意兩點:
1.webpack-dev-server伺服的是資源檔案,不會對index.html的修改做出反應
2.webpack-dev-server生成的檔案在記憶體中,因此不會呈現於目錄中,生成路徑由content-base指定,不會輸出到output目錄中。
3.預設情況下: webpack-dev-server會在content-base路徑下尋找index.html作為首頁
4.webpack-dev-server不是乙個外掛程式,而是乙個web伺服器,所以不要想當然地將其引入
content-base 用於設定生成的檔案所在目錄
eg:
const path = require('path');這裡設定在dist資料夾下生成檔案,能夠看到dist資料夾下未生成檔案(index.html是本人手動建立的),而index.html的引入路徑應為const htmlwebpackplugin= require('html-webpack-plugin');
const cleanwebpackplugin = require('clean-webpack-plugin')
var manifestplugin = require('webpack-manifest-plugin');
const webpack= require('webpack');
module.exports =,
devserver: ,
module: ,
},} }]},
devtool: 'inline-source-map',
output: ,
};
必須注意的是: 如果配置了output的publicpath這個欄位的值的話,index.html的路徑也得做出相應修改,因為webpack-dev-server伺服的檔案時相對於publicpath這個路徑的。
那麼,如果:
output:那麼,index.html的路徑為:
內聯模式(inline mode)和iframe模式
webpack-dev-server預設採用內聯模式,iframe模式與內聯模式最大的區別是它的原理是在網頁中嵌入乙個iframe,
我們可以將devserver的inline設為false切換為iframe模式
devserver:可以發現:
可以發現我們的網頁被嵌入iframe中。
模組熱替換
webpack-dev-server有兩種方式開啟熱替換
1.通過在devserver內將hot設為true並初始化webpack.hotmodulereplacementplugin
2.命令列加入--hot(如果webpack或者webpack-dev-server開啟時追加了--hot, 上述外掛程式能自動初始化,這樣就無需加入配置檔案中)
然後在入口檔案中加入熱替換處理**:
if預設情況下,由於style-loader的幫助,css的模板熱替換很簡單,當發生改變時,style-loader會在後台使用module.hot.accept來修補style,同理,有許多loader有類似功能,例如vue-loader、react-hot-loader...(module.hot) )
}
而js檔案發生改變會觸發重新整理而不是熱替換,因此得加上處理語句,詳情可檢視:
點讀筆原理
點讀筆是用的一種叫 光學識別技術 oid 可理解為標識吧。把這種技術運用到教育 學習上,可謂是教育和科技結合的果實。這種技術是結合了精密光學處理技術加上高效數字訊號處理器,技術和快閃儲存器。oid的分辨間距 0.5mm 0.5mm。識別物件可以任何大小,任何形狀。儲存器部分可以擴充到外部的flach...
STL vector要點及使用
vector的資料安排以及操作方式,與array非常相似,兩者的唯一差別在於空間的運用的靈活性。array是靜態空間,一旦配置了就不能改變,要換大一點或者小一點的空間,可以,一切瑣碎得由自己來,首先配置一塊新的空間,然後將舊空間的資料搬往新空間,再釋放原來的空間。vector是動態空間,隨著元素的加...
STL stack要點及使用
stack是一種先進後出 first in last out,filo 的資料結構,它只有乙個出口,形式如圖所示。stack容器允許新增元素,移除元素,取得棧頂元素,但是除了最頂端外,沒有任何其他方法可以訪問stack的其他元素。換言之,stack不允許有遍歷行為。有元素推入棧的操作稱為 push,...