在webpack4
中的hmr
配置及其簡單,如下所示即可 :
const webpack = require('webpack')
module.exports =
}
src/index.js(入口檔案)
import
'./style.css'
這樣當我們的css
檔案更新的時候,就會自動替換所更新的。
需要注意的是,這裡css
的自動更新是需要記得使用style-loader
才可以的哦
即:
const devmode = process.env.node_env !== 'production'
js
的hmr
需要增加一段js
import printme from './print.js';
if (module.hot) )
}
這樣當print.js
發生改變的時候,就會自動重新整理並列印"accepting the updated printme module!"
。
先看我之前寫的文章 效能優化——tree-shaking 的使用
當我們引用乙個js
或者乙個npm
包的時候,我們可能僅僅使用了其中乙個方法,並不希望引入沒用到的方法,但是tree shaking
的實現是基於 es6 的模組化方案的靜態分析來實現的。另外還需要有乙個壓縮工具,在之前版本的webpack
中,我們需要手動引入uglifyjs-webpack-plugin
。而在webpack4
裡面,我們可以直接指定mode
為production
就可以啦。
值得注意的是,我們需要關閉babel
的模組化策略。
即在.babelrc
檔案中:
}]]}
另外新增了乙個特性是針對於library
作者的。當我們引用的第三方包中pageage.json
有如下配置:
name: 'spawn',
sideeffects: false
sideeffects
是說明該模組是否是有***。當某個模組的package.json
檔案中有了這個宣告之後,webpack
會認為這個模組沒有任何***,只是單純用來對外暴露模組使用,那麼在打包的時候就會做一些額外的處理。
比如我們常用的lodash
就專門為此除了乙個lodash-es
模組,來幫助使用者進行tree-shaking
。
webpack4配置詳解
方式一 單檔案寫法 entry 方式二 多檔案寫法 entry output 常用的有三種 模板描述 hash模組識別符號的hash,一般應用於filename name hash js chunkhash按需載入塊內容的hash,根據chunk自身的內容計算而來,js name chunkhash...
webpack4快速上手
1.在專案根目錄cnpm init y初始化。生成package.json檔案 2.在專案裡面使用cnpm安裝webpack 3.需要在根目錄下新建webpack.config.js檔案 在其裡面配置暴露物件 module.exports 4.在根目錄下新建src index.js檔案 因為此時執行...
webpack4 基本使用
webpack是基於node構建,所以wepack支援所有node api和語法。即 chrome瀏覽器能支援的ecmascript語法 排除dom bom wbpack都能支援。chrome不支援es6,所以webpack也不支援。建立基本的webpack4.x專案 建立後的目錄 其中 packa...