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

Webpack性能優(yōu)化 DLL 用法詳解

 更新時間:2017年08月10日 15:19:36   作者:clinyong  
本篇文章主要介紹了Webpack DLL 用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

在用 Webpack 打包的時候,對于一些不經(jīng)常更新的第三方庫,比如 react,lodash,我們希望能和自己的代碼分離開,Webpack 社區(qū)有兩種方案

  • CommonsChunkPlugin
  • DLLPlugin

對于 CommonsChunkPlugin,webpack 每次打包實際還是需要去處理這些第三方庫,只是打包完之后,能把第三方庫和我們自己的代碼分開。而DLLPlugin 則是能把第三方代碼完全分離開,即每次只打包項目自身的代碼。

用法

要使用 DLLPlugin,需要額外新建一個配置文件。所以對于用這種方式打包的項目,一般會有下面兩個配置文件

  • webpack.config.js
  • webpack.dll.config.js

先來看下 webpack.dll.config.js

const webpack = require('webpack')
const library = '[name]_lib'
const path = require('path')

module.exports = {
 entry: {
 vendors: ['react', 'lodash']
 },

 output: {
 filename: '[name].dll.js',
 path: 'dist/',
 library
 },

 plugins: [
 new webpack.DllPlugin({
  path: path.join(__dirname, 'dist/[name]-manifest.json'),
  // This must match the output.library option above
  name: library
 }),
 ],
}

再改下 webpack.config.js 文件

const webpack = require('webpack')

module.exports = {
 entry: {
 app: './src/index'
 },
 output: {
 filename: 'app.bundle.js',
 path: 'dist/',
 },
 plugins: [
 new webpack.DllReferencePlugin({
  context: __dirname,
  manifest: require('./dist/vendors-manifest.json')
 })
 ]
}

manifest: require('./dist/vendors-manifest.json') 這里的路徑要和 webpack.dll.config.js 里面的對應。

然后運行

$ webpack --config webpack.dll.config.js
$ webpack --config webpack.config.js

然后你的 html 文件像下面這樣引用

<script src="/dist/vendors.dll.js"></script>
<script src="/dist/app.bundle.js"></script>

DLL Link Plugin

上面的用法也存在一些不方便的地方,比如在 webpack.config.js 中要明確指出對應的 manifest.json 文件。還有當 DLL 需要更新的時候,比如 react 升級了,或者加入新的第三方庫,都需要手動像下面這樣編譯一次。

$ webpack --config webpack.dll.config.js

因為上面這些問題,所以基于官方的 DllReferencePlugin,我寫了一個打包的插件,Dll Link Plugin。

使用這個插件,只需要對 webpack.config.js 作下小小的改動

const webpack = require('webpack')
const DllLinkPlugin = require('dll-link-webpack-plugin')

module.exports = {
 // ...
 plugins: [
 new DllLinkPlugin({
  config: require('webpack.dll.config.js')
 })
 ]
}

直接替換掉 DllReferencePlugin,然后傳入對應的 DLL 配置文件就可以了。每次打包的時候,只需要運行

$ webpack --config webpack.config.js

上面的命令便會自動生成對應的 vendors 文件,需要更新的時候,也會自動更新。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS入門必備之八種數(shù)據(jù)類型

    JS入門必備之八種數(shù)據(jù)類型

    Javascript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達式和算術(shù)運算符及程序的基本程序框架,這篇文章主要給大家介紹了關(guān)于JS中八種數(shù)據(jù)類型的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • 小程序兼容安卓和IOS數(shù)據(jù)處理問題及坑

    小程序兼容安卓和IOS數(shù)據(jù)處理問題及坑

    這篇文章主要介紹了小程序兼容安卓和IOS數(shù)據(jù)處理問題及坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • JS實現(xiàn)普通輪播圖特效

    JS實現(xiàn)普通輪播圖特效

    這篇文章主要為大家詳細介紹了JS實現(xiàn)普通輪播圖特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • BootStrap 導航條實例代碼

    BootStrap 導航條實例代碼

    本文通過實例代碼給大家介紹了bootstrap導航條效果,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-05-05
  • Bootstrap入門教程一Hello Bootstrap初識

    Bootstrap入門教程一Hello Bootstrap初識

    Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。Bootstrap是基于 HTML5、CSS3和Javascriopt開發(fā)的。這篇文章主要介紹了基于Bootstrap3實現(xiàn)漂亮簡潔的CSS3價格表(精美代碼版),需要的朋友可以參考下
    2017-03-03
  • 學習javascript面向?qū)ο?實例講解面向?qū)ο筮x項卡

    學習javascript面向?qū)ο?實例講解面向?qū)ο筮x項卡

    這篇文章主要介紹了面向?qū)ο筮x項卡實現(xiàn)方法,幫助大家更好地學習javascript面向?qū)ο?,感興趣的小伙伴們可以參考一下
    2016-01-01
  • js unicode 編碼解析關(guān)于數(shù)據(jù)轉(zhuǎn)換為中文的兩種方法

    js unicode 編碼解析關(guān)于數(shù)據(jù)轉(zhuǎn)換為中文的兩種方法

    這篇文章主要介紹了js unicode 編碼解析關(guān)于數(shù)據(jù)轉(zhuǎn)換為中文的兩種方法,需要的朋友可以參考下
    2014-04-04
  • JavaScript中的構(gòu)造函數(shù)和實例對象之間的關(guān)系(構(gòu)造器)

    JavaScript中的構(gòu)造函數(shù)和實例對象之間的關(guān)系(構(gòu)造器)

    這篇文章主要介紹了JavaScript中的構(gòu)造函數(shù)和實例對象之間的關(guān)系(構(gòu)造器),需要的朋友可以參考下
    2023-05-05
  • JavaScript實現(xiàn)五子棋小游戲

    JavaScript實現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • js利用div背景,做一個豎線的效果。

    js利用div背景,做一個豎線的效果。

    嘗試了好多種css屬性,總是無法達成目標。主要就是height這個屬性,100%,對于ff似乎并不起什么作用,既然我將其父容器的高度也設置為100%,依然沒有效果。這樣的話,就無法顯示出平鋪的背景,想法也得不到實現(xiàn)。
    2008-11-11

最新評論

甘谷县| 同江市| 阿图什市| 潞西市| 广南县| 巴楚县| 永和县| 乌鲁木齐市| 格尔木市| 潞城市| 新营市| 皋兰县| 宕昌县| 湟源县| 五指山市| 台州市| 固原市| 昭通市| 甘洛县| 宁德市| 南汇区| 西宁市| 浠水县| 米泉市| 明溪县| 杭锦旗| 宜州市| 泰州市| 江川县| 大余县| 宜良县| 安义县| 高邮市| 自贡市| 望都县| 清流县| 台江县| 安吉县| 西畴县| 平南县| 永寿县|