webpack-dev-server 熱更新(HMR) 瀏覽器自動重新整理
環境:
webpack 4.16.5
webpack-dev-server 3.1.5
vue 2.5.17
原始碼地址:https://github.com/appbanana/vue-elm.git 然後找對應分支develop-0.0.1
熱更新的實現模式分兩種,一種是iframe模式,另外一種是inline模式。
- 熱更新第一種實現
使用iframe模式,iframe模式就是讓你的頁面嵌入到一個iframe中顯示(見下圖) 使用這個模式不需要在webpack的配置檔案中做任何的配置,但需要改變頁面的訪問路徑,比如要訪問根目錄下的首頁,源連結是 http://localhost:8080/index.html 需要換成http://localhost:8080/webpack-dev-server/index.html 接下來你就可以嘗試更改你的樣式,看一下有木有立即重新整理
- 熱更新第二種實現
參考webpack官網配置 ,需要配置webpack,還需要一個devServer.js的檔案,最後用node devServer.js 啟動就可以了,接下來我把我的程式碼貼出來,以供大家參考
webpack.config.dev.js
、、、
var path = require('path')
const VueLoaderPlugin = require('vue-loader/lib/plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin')
const webpack = require('webpack');
// const WebpackCleanupPlugin = require('webpack-cleanup-plugin')
module.exports = {
mode: "development",
entry: {
app: './src/main.js'
},
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
devtool: 'inline-source-map',
resolve: {
extensions: ['.js', '.vue', '.less', '.css'],
alias: {
vue: 'vue/dist/vue.js',
'src': path.resolve(__dirname, '../src'),
}
},
module: {
rules: [
{
test: /.vue/,
// 限制範圍,提高打包速度
include: path.join(__dirname, 'src'),
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
},
{
test: /.css$/,
// 限制範圍,提高打包速度
include: path.join(__dirname, 'src'),
exclude: /node_modules/,
use: [
'style-loader',
{ loader: 'css-loader', options: { importLoaders: 1 } },
'postcss-loader'
]
}
]
},
devServer: {
contentBase: './dist',
hot: true
},
plugins: [
// 請確保引入這個外掛!
new VueLoaderPlugin(),
new HtmlWebpackPlugin({
template: './index.html', // 源模板檔案
filename: './index.html', // 輸出檔案【注意:這裡的根路徑是module.exports.output.path】
showErrors: true,
inject: 'body',
}),
new CleanWebpackPlugin(['dist']),
new webpack.HotModuleReplacementPlugin()
]
}
、、、
devServer.js如下
、、、
const webpackDevServer = require('webpack-dev-server');
const webpack = require('webpack');
var config = require("./webpack.dev.config.js");
const options = {
contentBase: './dist',
hot: true,
host: 'localhost'
};
webpackDevServer.addDevServerEntrypoints(config, options);
const compiler = webpack(config);
const server = new webpackDevServer(compiler, options);
server.listen(5000, 'localhost', () => {
console.log('dev server listening on port 5000');
});
、、、
相關文章
- Webpack 自動重新整理和HMRWeb
- 禁用edge、chrome瀏覽器自動更新Chrome瀏覽器
- 使用chrome瀏覽器驅動自動開啟瀏覽器Chrome瀏覽器
- 瀏覽器可以自動修改URL?瀏覽器
- nodejs實現簡歷自動重新整理(無頭瀏覽器測試功能)NodeJS瀏覽器
- Web自動化之瀏覽器啟動Web瀏覽器
- win10 edge瀏覽器更新怎麼操作_win10自帶edge瀏覽器更新具體步驟Win10瀏覽器
- 谷歌瀏覽器定時重新整理谷歌瀏覽器
- 改造 Firefox 瀏覽器——GitHub 熱點速覽Firefox瀏覽器Github
- Chrome 瀏覽器修改 UA 模擬其它瀏覽器,包括移動瀏覽器Chrome瀏覽器
- [求助]如何讓pc瀏覽器和手機瀏覽器自動識別並跳轉瀏覽器
- selenium模組,web自動化,建立瀏覽器Web瀏覽器
- 關閉瀏覽器或者重新整理瀏覽器彈窗提示,可以取消或者確認。瀏覽器
- 恢復win10自帶瀏覽器 誤刪電腦自帶瀏覽器Win10瀏覽器
- 怎麼讓jupyter自動在瀏覽器彈出?瀏覽器
- Safari瀏覽器自動高亮外掛:Auto Highlight fMac瀏覽器Mac
- RemoteBrowser:類似Puppeteer的瀏覽器自動化框架REM瀏覽器框架
- Puppeteer無頭瀏覽器:開啟自動化之門,掌握瀏覽器世界的無限可能瀏覽器
- win10 edge瀏覽器自啟動怎麼關閉_win10電腦edge瀏覽器自啟動解決方法Win10瀏覽器
- 使用WebDriverManager實現自動獲取瀏覽器驅動程式Web瀏覽器
- 自動化測試系列(2)—— 下載瀏覽器驅動瀏覽器
- 如何重新整理瀏覽器的應用快取?瀏覽器快取
- win10自帶瀏覽器在哪_win10如何開啟自帶瀏覽器Win10瀏覽器
- vite 構建工具 如何熱更新靜態頁面?自動重新整理頁面Vite
- 淘寶直播自動回覆評論 - 瀏覽器外掛瀏覽器
- 前端檔案下載和瀏覽器自動嗅探前端瀏覽器
- 【瀏覽器】瀏覽器基本工作原理瀏覽器
- win10怎麼更新ie瀏覽器_win10升級更新ie瀏覽器到最新版的方法Win10瀏覽器
- 58同城微聊訊息自動回覆 – 瀏覽器外掛瀏覽器
- 網頁自動跟隨瀏覽器顏色模式light dark網頁瀏覽器模式
- SugarCoat可自動保護瀏覽器的隱私資料瀏覽器
- win10自帶瀏覽器怎麼截圖_win10自帶瀏覽器如何截圖Win10瀏覽器
- 瀏覽器瀏覽器
- Chrome瀏覽器手動新增CookieChrome瀏覽器Cookie
- 瀏覽器原生支援平滑滾動瀏覽器
- 瀏覽器手動設定Cookie瀏覽器Cookie
- 影片號直播自動迴圈發評論-自動回覆評論 - 瀏覽器外掛瀏覽器
- 基石-初見瀏覽器(一):瀏覽器渲染瀏覽器