最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

webpack4從0搭建組件庫的實現

 更新時間:2020年11月29日 08:35:08   作者:lihaixing  
這篇文章主要介紹了webpack4從0搭建組件庫的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

代碼分離

代碼分離方法有三種:

  • 入口起點:使用 entry 配置手動地分離代碼。
  • 防止重復:使用 SplitChunksPlugin 去重和分離 chunk。
  • 動態(tài)導入:通過模塊中的內聯函數調用來分離代碼。

動態(tài)導入(dynamic imports)

  • import()
  • require.ensure

預取/預加載模塊(prefetch/preload module)

webpack v4.6.0+ 添加了預取和預加載的支持。

在聲明 import 時,使用下面這些內置指令,可以讓 webpack 輸出 "resource hint(資源提示)",來告知瀏覽器:

  • prefetch(預取):將來某些導航下可能需要的資源
  • preload(預加載):當前導航下可能需要資源

配置項重點詳解

(1)mode: "pruduction"
啟用 minification(代碼壓縮) 和 tree shaking (usedExports:true)
自動指定DefinePlugin:process.env.NODE_ENV === 'production'

(2)devtool
source map 簡介

生產環(huán)境:source-map
開發(fā)環(huán)境:inline-source-map

(3)optimization
splitChunks

splitChunks: {
 chunks: 'all', // 提取公共模塊 loadash
 // 將第三方庫(library)(例如 lodash 或 react)提取到單獨的 vendor chunk 文件中,是比較推薦的做法
 // 利用 client 的長效緩存機制,命中緩存來消除請求,并減少向 server 獲取資源,同時還能保證 client 代碼和 server 代碼版本一致。
 cacheGroups: {
  vendor: {
   test: /[\\/]node_modules[\\/]/,
   name: 'vendors',
   chunks: 'all'
  }
 }
},

runtimeChunk

runtimeChunk: 'single' // 提取引導模板 將 runtime 代碼拆分為一個單獨的 chunk

(5)output

// filename: '[name].[contenthash].js', // content hash 內容變化才會變化
filename: 'webpack-numbers.js', 
path: path.resolve(__dirname, 'dist'),

// 暴露 library 這是庫名稱 import from 'webpackNumbers'
library: 'webpackNumbers', 
libraryTarget: 'umd'

(6)plugins

HashedModuleIdsPlugin

const { HashedModuleIdsPlugin } = require('webpack');

plugins: [
  // 不會因模塊增加和減少導致的模塊內容變化,增加長緩存命中機制
  new HashedModuleIdsPlugin()
],

BundleAnalyzerPlugin

分析打包代碼

const {BundleAnalyzerPlugin} = require('webpack-bundle-analyzer');

plugins: [
  new BundleAnalyzerPlugin()
]

到此這篇關于webpack4從0搭建組件庫的實現的文章就介紹到這了,更多相關webpack4搭建組件庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JS實現下拉框的動態(tài)添加(附效果)

    JS實現下拉框的動態(tài)添加(附效果)

    頁面初加載時:選擇車類型后:選擇車顏色后:JS實現下拉框的動態(tài)添加,網頁代碼如下:動態(tài)添加下拉框 車類型:請選擇寶馬、奔馳 車顏色
    2013-04-04
  • 使用url-loader處理圖片等資源文件的方法步驟

    使用url-loader處理圖片等資源文件的方法步驟

    在Web開發(fā)中,處理圖片、字體等資源文件是一個常見的需求,傳統(tǒng)的做法是將這些資源文件放在靜態(tài)目錄中,然后在HTML或CSS中引用,然而,這種方法在構建工具(如Webpack)中并不總是最理想的,為了解決這個問題,可以使用url-loader,需要的朋友可以參考下
    2025-04-04
  • 微信小程序實現音樂播放器

    微信小程序實現音樂播放器

    這篇文章主要為大家詳細介紹了微信小程序實現音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • js 設置緩存及獲取設置的緩存

    js 設置緩存及獲取設置的緩存

    這篇文章主要介紹了js如何設置緩存及獲取設置的緩存,需要的朋友可以參考下
    2014-05-05
  • 基于chosen插件實現人員選擇樹搜索自動篩選功能

    基于chosen插件實現人員選擇樹搜索自動篩選功能

    這篇文章主要介紹了基于chosen插件實現人員選擇樹搜索自動篩選功能的相關資料,需要的朋友可以參考下
    2016-09-09
  • uni-app小程序沉浸式導航實現的全過程

    uni-app小程序沉浸式導航實現的全過程

    在跨端項目開發(fā)中,uniapp是個不錯的框架,下面這篇文章主要給大家介紹了關于uni-app小程序沉浸式導航實現的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 新手學習前端之js模仿淘寶主頁網站

    新手學習前端之js模仿淘寶主頁網站

    淘寶網大家在熟悉不過了,那么淘寶網首頁模板是怎么做的呢?今天小編抽時間給大家分享新手學習前端之js模仿淘寶主頁網站的相關資料,需要的朋友可以參考下
    2016-10-10
  • JavaScript數據結構之雙向鏈表定義與使用方法示例

    JavaScript數據結構之雙向鏈表定義與使用方法示例

    這篇文章主要介紹了JavaScript數據結構之雙向鏈表定義與使用方法,簡單介紹了雙向鏈表的原理,并結合實例形式分析了雙向鏈表的定義與使用方法,需要的朋友可以參考下
    2017-10-10
  • 原生js實現自定義滾動條組件

    原生js實現自定義滾動條組件

    這篇文章主要為大家詳細介紹了原生js實現自定義滾動條組件的開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 點擊廣告后才能獲得下載地址

    點擊廣告后才能獲得下載地址

    點擊廣告后才能獲得下載地址...
    2006-10-10

最新評論

综艺| 秦皇岛市| 嘉定区| 济宁市| 西林县| 赣榆县| 贡山| 绵阳市| 瑞安市| 德钦县| 白山市| 武穴市| 华亭县| 奉贤区| 应城市| 繁昌县| 雷山县| 武川县| 濮阳县| 镇赉县| 龙岩市| 长沙市| 菏泽市| 金塔县| 曲水县| 浏阳市| 鄄城县| 乌拉特后旗| 明光市| 突泉县| 九寨沟县| 高要市| 庄河市| 临高县| 高平市| 通江县| 体育| 建湖县| 丰原市| 济源市| 舟曲县|