亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Webpack DLL用法以及功能

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

在使用webpack過程中,本人也發(fā)現(xiàn)發(fā)現(xiàn)構(gòu)建速度非常慢,Webpack性能優(yōu)化的方式有很多種,本文介紹了dll,dll是一種最簡單粗暴并且極其有效的優(yōu)化方式。

前言

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

  1. CommonsChunkPlugin
  2. DLLPlugin

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

用法

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

  1. webpack.config.js
  2. 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 里面的對應(yīng)。

然后運行

$ 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 中要明確指出對應(yīng)的 manifest.json 文件。還有當(dāng) 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,然后傳入對應(yīng)的 DLL 配置文件就可以了。每次打包的時候,只需要運行

$ webpack --config webpack.config.js

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

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

相關(guān)文章

  • js將json格式的對象拼接成復(fù)雜的url參數(shù)方法

    js將json格式的對象拼接成復(fù)雜的url參數(shù)方法

    下面小編就為大家?guī)硪黄猨s將json格式的對象拼接成復(fù)雜的url參數(shù)方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • JS實現(xiàn)的仿淘寶交易倒計時效果

    JS實現(xiàn)的仿淘寶交易倒計時效果

    這篇文章主要介紹了JS實現(xiàn)的仿淘寶交易倒計時效果,涉及JavaScript針對時間與日期的動態(tài)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 微信小程序云函數(shù)添加數(shù)據(jù)到數(shù)據(jù)庫的方法

    微信小程序云函數(shù)添加數(shù)據(jù)到數(shù)據(jù)庫的方法

    這篇文章主要介紹了微信小程序云函數(shù)添加數(shù)據(jù)到數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • JavaScript 讀取圖片實例代碼

    JavaScript 讀取圖片實例代碼

    本章主要介紹通過JavaScript讀取圖片的例子,本例子不包含服務(wù)器端后臺代碼,只包含前臺頁面代碼,所以直接用Html文件就可以,代碼如下,因為包含詳細的注意,所以不再詳細說明了,如果有看不明白的,可以給我留言,我給大家具體答復(fù)。
    2009-11-11
  • 圖形編輯器中JS實現(xiàn)防誤操作之拖拽阻塞

    圖形編輯器中JS實現(xiàn)防誤操作之拖拽阻塞

    這篇文章主要為大家介紹了圖形編輯器中JS實現(xiàn)防誤操作之拖拽阻塞實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 基于Vue的ajax公共方法(詳解)

    基于Vue的ajax公共方法(詳解)

    下面小編就為大家分享一篇基于Vue的ajax公共方法(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 基于js里調(diào)用函數(shù)時,函數(shù)名帶括號和不帶括號的區(qū)別

    基于js里調(diào)用函數(shù)時,函數(shù)名帶括號和不帶括號的區(qū)別

    下面小編就為大家?guī)硪黄趈s里調(diào)用函數(shù)時,函數(shù)名帶括號和不帶括號的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 基于Node.js的JavaScript項目構(gòu)建工具gulp的使用教程

    基于Node.js的JavaScript項目構(gòu)建工具gulp的使用教程

    也許你使用過grunt,那么這里來安利gulp的話就更加不會陌生了,下面我們就來看一下基于Node.js的JavaScript項目構(gòu)建工具gulp的使用教程
    2016-05-05
  • JS給Textarea文本框添加行號的方法

    JS給Textarea文本框添加行號的方法

    這篇文章主要介紹了JS給Textarea文本框添加行號的方法,涉及javascript針對頁面元素結(jié)點的讀取與判定技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • js獲取時間函數(shù)及擴展函數(shù)的方法

    js獲取時間函數(shù)及擴展函數(shù)的方法

    下面小編就為大家?guī)硪黄猨s獲取時間函數(shù)及擴展函數(shù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10

最新評論