十八、Hot Module Replacementの使用------2019-05-14
1574 ワード
一、Hot Module Replacementとは何ですか.Hot Module Replacementは中国語でホットモジュール置換と呼ばれ、HMRと略称され、プロジェクトでwebpack-dev-serverを使用する場合、プロジェクトのCSSまたはJSファイルを変更するたびに、webpack-dev-serverはパッケージされたファイルの変化を監視し、ブラウザーをリフレッシュします.しかし、私たちが変更したのはCSSまたはJSのコードだけで、ページ全体を再リフレッシュするつもりはありません.では、webpack-dev-serverのHot Module Replacementモジュールを有効にすることができます.webpack-dev-serverはプロジェクトファイルの変更を監視します.CSSまたはコードが変更された場合、webpack-dev-serverはスタイルファイルを交換したり、対応するJSモジュールを再実行したりすることはできません.
二、HMRの原理:
三、HMRの配置
二、HMRの原理:
+ if (module.hot) {
+ module.hot.accept('./print.js', function() {
+ console.log('Accepting the updated printMe module!');
+ printMe();
+ })
+ }
: : module.hot , , if ;
module.hot.accept(' ',function (){
));
, , , , ; ;
HMR , webpack (css-loader、less-loader) , HMR CSS , JS loader , ;
三、HMRの配置
1、
devServer: {
contentBase: './bundle',
open: true,
port: 8081,
hot: true,
// hotOnly: true
},
webpack webpack.config.js devServer , hot ;
2、
const webpack = require('webpack');
plugins: [new HtmlWebpackPlugin({
template: './src/index.html'
}),
new CleanWebpackPlugin(),
new webpack.HotModuleReplacementPlugin()// HotModuleReplacementPlugin
],
, webpack HotModuleReplacementPlugin() ; webpack ;
3、 :
HotModuleReplacementPlugin hotOnly;