【webpack】DLL plugin原理分析

本文详细介绍了Webpack中的DLLPlugin和DllReferencePlugin的工作原理,包括动态链接库的概念,DLLPlugin如何打包基础模块到单独的库,DllReferencePlugin如何引用这些库,以及Webpack如何查找并避免重复打包已存在的模块。通过manifest.json和全局变量,实现了模块的快速加载和检索。
摘要由CSDN通过智能技术生成

DLL plugin打包步骤

.dll为后缀的文件称为动态链接库,在一个动态链接库中可以包含给其他模块调用的函数和数据
把基础模块独立打包出来放到单独的动态链接库里
当需要导入的模块在动态链接库的时候,模块不能再次打包,而且从动态链接库里面获取

DllPlugin插件:用于打包一个个动态链接库
DllReferencePlugin:在配置文件中引入DllPlugin插件打包好的动态链接库

1、定义配置文件和命令

  "build:dll": "webpack --config build/webpack.dll.config.js --mode=development"

webpack.dll.config.js配置处理

/*
 * @description:
 * @author: steve.deng
 * @Date: 2020-09-25 12:53:31
 * @LastEditors: steve.deng
 * @LastEditTime: 2020-09-25 13:24:27
 */
const path = require("path");
// const DllPlugin = require("webpack/lib/DllPlugin");
const webpack = require('webpack')
const ParallelUglifyPlugin = require('webpack-parallel-uglify-plugin')
module.exports = {
   
  entry: {
   
    vendor: ['vue/dist/vue.esm.js', 'element-ui/lib/element-ui.common.js', 'wangeditor', 'mathjs', 'echarts', 'html2canvas', 'vue-router', 'vuex']
  },
  output: {
   
    path: path.resolve(__dirname, "../static/js"),
    filename: "[name].dll.js", //vendor.dll.js
    library: "_dll_[name]_library",//库的名字叫 _dll_[name]_library 决定了 vendor.dll.js里面库的名字
    // vendor.dll.js中暴露出的全局变量名。
    // 主要是给DllPlug
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值