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

一篇文章帶你淺入webpack的DLL優(yōu)化打包

 更新時(shí)間:2020年02月20日 08:32:20   作者:Vam的金豆之路  
這篇文章主要介紹了一篇文章帶你淺入webpack的DLL優(yōu)化打包,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

我們?cè)谑褂玫谌桨臅r(shí)候,一般內(nèi)部的代碼都不會(huì)變,但是當(dāng)webpack打包的時(shí)候,還是回去處理第三方包。我們是否可以利用一些方法來改進(jìn)呢?我們可以先對(duì)第三方包處理,然后再打包。

二、實(shí)戰(zhàn)

1、初始化

npm init

2、局部安裝webpack

npm i -D webpack

3、編輯package.json

加入一行代碼,方便運(yùn)行命令,
"start": "webpack --config webpack.config.js"

{
 "name": "webpack_demo",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "start": "webpack --config webpack.config.js"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
  "webpack": "^4.41.5"
 }
}

4、創(chuàng)建index.html

<html>
<head>
 <meta charset="UTF-8">
</head>
<body>
<div id="app"></div>
<!--導(dǎo)入 Webpack 輸出的 JavaScript 文件-->
<script src="./dist/bundle.js"></script>
</body>
</html>

5、創(chuàng)建main.js,引入第三方包

import $ from 'jquery';
console.log($);

6、創(chuàng)建webpack.config.js

const path = require('path');
const webpack = require('webpack');
module.exports = {
  // JavaScript 執(zhí)行入口文件
  entry: './main.js',
  output: {
    // 把所有依賴的模塊合并輸出到一個(gè) bundle.js 文件
    filename: 'bundle.js',
    // 輸出文件都放到 dist 目錄下
    path: path.resolve(__dirname, './dist'),
  },
  plugins:[]
};

這樣,我們的基礎(chǔ)項(xiàng)目已經(jīng)搭建完成了,我們來打包一下。

npm run start

時(shí)間:943ms

下面,我們使用DLL優(yōu)化一下。

1、創(chuàng)建webpack.dll.js

使用插件webpack.DllPlugin

const webpack=require('webpack');
module.exports={
  entry:{
    vendor:['jquery'] // 第三方庫
  },
  output:{
    path:__dirname+"/dll",
    filename:'[name].dll.js',
    library:'[name]_library'
  },
  plugins:[
    new webpack.DllPlugin({
      path:__dirname+'/dll/[name]-menifest.json',
      name:'[name]_library'
    })
  ]
}

2、運(yùn)行一下webpack.dll.js

編輯一下package.json,加入一行"dll": "webpack --config webpack.dll.js",方便運(yùn)行。

{
 "name": "webpack_p",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "start": "webpack --config webpack.config.js",
  "dll": "webpack --config webpack.dll.js"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
  "webpack": "^4.41.6",
  "webpack-cli": "^3.3.11"
 }
}

運(yùn)行命令

npm run dll

3、編輯webpack.config.js

使用插件webpack.DllReferencePlugin

const path = require('path');
const webpack = require('webpack');
module.exports = {
  // JavaScript 執(zhí)行入口文件
  entry: './main.js',
  output: {
    // 把所有依賴的模塊合并輸出到一個(gè) bundle.js 文件
    filename: 'bundle.js',
    // 輸出文件都放到 dist 目錄下
    path: path.resolve(__dirname, './dist'),
  },
  plugins:[
    new webpack.DllReferencePlugin({
      manifest: require('./dll/vendor-menifest.json')
    })
  ]
};

4、打包

npm run start

時(shí)間:473ms
優(yōu)化完畢。

三、結(jié)語

webpack優(yōu)化有很多,我將會(huì)不斷更新,謝謝。

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

相關(guān)文章

  • JS實(shí)現(xiàn)簡單的二元方程計(jì)算器功能示例

    JS實(shí)現(xiàn)簡單的二元方程計(jì)算器功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)簡單的二元方程計(jì)算器功能,涉及javascript數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法

    React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法

    本文主要介紹了React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲

    一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲

    實(shí)現(xiàn)一個(gè)五子棋游戲, 簡要分析其原理, 頁面并沒有很花哨, 原理搞懂了, 后面的就是很輕松的事了,本文給大家介紹了如何用純JS實(shí)現(xiàn)一個(gè)五子棋游戲,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12
  • js如何刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組實(shí)例代碼

    js如何刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組實(shí)例代碼

    JS中數(shù)組是我們較為常用的一種數(shù)據(jù)結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于js如何刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • js實(shí)現(xiàn)在文本框光標(biāo)處添加字符的方法介紹

    js實(shí)現(xiàn)在文本框光標(biāo)處添加字符的方法介紹

    在開發(fā)應(yīng)用中,經(jīng)常會(huì)遇到一些技術(shù)上的問題,比如:怎樣讓js在文本框光標(biāo)處添加字符,本文將以此問題進(jìn)行詳細(xì)介紹,需要了解的朋友可以參考下
    2012-11-11
  • webpack的pitching loader詳解

    webpack的pitching loader詳解

    這篇文章主要介紹了webpack的pitching loader詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 利用Javascript實(shí)現(xiàn)BMI計(jì)算器

    利用Javascript實(shí)現(xiàn)BMI計(jì)算器

    BMI指數(shù)計(jì)算器相信大家都用過,那用JavaScript怎么實(shí)現(xiàn)呢?其實(shí)很簡單,這篇文章給出了實(shí)例代碼,有需要的可以參考學(xué)習(xí)。
    2016-08-08
  • JavaScript Accessor實(shí)現(xiàn)說明

    JavaScript Accessor實(shí)現(xiàn)說明

    關(guān)于Getter與Setter大家一定不會(huì)陌生,下面簡單介紹幾種我所知道的在JavaScript中實(shí)現(xiàn)G/S的方法.
    2010-12-12
  • 微信小程序自定義用戶登錄彈窗

    微信小程序自定義用戶登錄彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義用戶登錄彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • javascript中搜索數(shù)組的四種方法示例詳解

    javascript中搜索數(shù)組的四種方法示例詳解

    我們?cè)趯W(xué)到j(luò)s中數(shù)組的時(shí)候,我們會(huì)接觸到j(luò)s中數(shù)組的一些方法這些方法對(duì)我們來說,可以很便利的達(dá)到我們想要的結(jié)果,下面這篇文章主要給大家介紹了關(guān)于javascript中搜索數(shù)組的四種方法,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

宁晋县| 长汀县| 滨州市| 太仆寺旗| 罗江县| 贺兰县| 上虞市| 邵阳县| 镇雄县| 永胜县| 昭通市| 鲁甸县| 扎囊县| 兴业县| 武城县| 曲阜市| 来凤县| 利川市| 黔西县| 梨树县| 灵丘县| 甘孜| 辉南县| 土默特左旗| 崇礼县| 怀来县| 湟源县| 个旧市| 湘乡市| 建昌县| 饶阳县| 武汉市| 林西县| 察隅县| 枣庄市| 西和县| 封丘县| 贵德县| 扬中市| 湖北省| 哈密市|