首页 > 其他分享 >快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧

快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧

时间:2023-07-30 10:04:21浏览次数:28  
标签:function exports webpack Webpack 模块 上手 打包



目录

  • 概念:
  • 1. webpack 打包简介
  • 1.0 多个 JS 文件打包:
  • 1.1 webpack 数组形式
  • 1.2 webpack 对象形式
  • 总结


Webpack的打包过程可以总结为以下几个步骤:

  • 1.入口点配置:在Webpack的配置文件中,我们需要指定一个或多个入口点(entry points),这些入口点是我们应用程序的起点,Webpack会从这些入口点开始分析和构建依赖关系。
  • 2.模块解析:Webpack会根据入口点的依赖关系图,递归地解析所有的模块。在解析过程中,Webpack会根据配置文件中的规则,识别并处理不同类型的模块,例如JavaScript、CSS、图片等。
  • 3.加载器处理:对于非JavaScript类型的模块,Webpack会使用加载器(loader)进行处理。加载器可以将这些模块转换成JavaScript代码,或者将其转换成其他类型的静态资源文件。加载器可以链式调用,以便进行多个转换操作。
  • 4.依赖图构建:在模块解析和加载器处理完成后,Webpack会根据模块之间的依赖关系,构建一个依赖图(dependency graph)。这个依赖图描述了模块之间的引用关系,以及它们的依赖关系。
  • 5打包输出:最后,Webpack会根据依赖图生成一个或多个打包输出文件。这些输出文件可以是JavaScript代码、CSS样式表、图片等。Webpack还可以通过插件(plugins)进行额外的处理,例如代码压缩、文件合并等。 ![在这里插入图片描述]()

概念:

webpack 是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文 件等)都看成模块,通过loader(加载器)和 plugins (插件)对资源进行处理,打包成符合生产环境 部署的前端资源。所有的资源都是通过 JavaScript 渲染出来的。 如果一个页面大部分是script标签构成,80%以上是 webpack 打包。

地址:http://cls.cn/telegraph

快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧_前端

1. webpack 打包简介

快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧_python_02


快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧_前端_03

1.0 多个 JS 文件打包:

如果模块比较多,就会将模块打包成JS文件, 然后定义一个全局变量 window[“webpackJsonp”] =[ ] ,它的作用是存储需要动态导入的模块,然后重写 window[“webpackJsonp”] 数组的 push( ) 方法为webpackJsonpCallback( ) ,也就是说window[“webpackJsonp”].push( ) 其实执行的是webpackJsonpCallback( ) window[“webpackJsonp”].push( ) 接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要调用的函数(可选)

快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧_webpack_04

1.1 webpack 数组形式

  • 给需要处理业务的模块进行打包,通过下标取值。
!function(e) {
var t = {};
// 加载器 所有的模块都是从这个函数加载 执行
function n(r) {
if (t[r])
return t[r].exports;
var o = t[r] = {
i: r,
l: !1,
exports: {}
};
1.2 webpack 对象形式
给需要处理业务的模块进行打包,通过 key 取值。
return e[r].call(o.exports, o, o.exports, n),
o.l = !0,
o.exports
}
n(0)
}
([
function () {
console.log('123456')
},
function () {
console.log('模块2')
},
])

1.2 webpack 对象形式

  • 给需要处理业务的模块进行打包,通过 key 取值
!function(e) {
var t = {};
// 所有的模块 都是从这个加载器 执行的 分发器
function n(r) {
if (t[r])
return t[r].exports;
var o = t[r] = {
i: r,
l: !1,
exports: {}
};
return e[r].call(o.exports, o, o.exports, n),
o.l = !0,
o.exports
}
n('xialuo') // 对象 根据KEY 找模块
}({
0: function () {
console.log('我是模块1 负责加密')
},
'xialuo': function () {
console.log('我是模块2 负责解密')
},
2: function () {
console.log('我是模块3 负责爬数据')
}
}
);

总结

总的来说,Webpack的打包过程是一个将多个模块合并成一个或多个静态资源文件的过程。通过合理配置Webpack的入口点、加载器和插件,我们可以实现代码的模块化、资源的优化和性能的提升。


标签:function,exports,webpack,Webpack,模块,上手,打包
From: https://blog.51cto.com/u_15453202/6898600

相关文章

  • Webpack 入门教程-安装
    Webpack是一个前端资源加载/打包工具。安装Webpack使用cnpm安装webpack:cnpminstallwebpack-g创建项目接下来我们创建一个目录app:mkdirapp在app目录下添加runoob1.js文件,代码如下:app/runoob1.js文件document.write("Itdashu.");app/index.html文件<html>......
  • 【webpack系列】从基础配置到掌握进阶用法
    前言本篇文章将介绍一些webpack的进阶用法,演示内容继承自上一篇文章的内容,所以没看过上一篇文章的建议先学习上一篇内容再阅读此篇内容,会更有利于此篇的学习~文件指纹文件指纹指的是打包输出的文件名后缀,一般用来做版本管理、缓存等webpack的指纹策略有三种:hash、chunkhash、content......
  • electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron
    electron的electron-packager打包运行和electron-builder生产安装包过程开发electron客户端程序,打包是绕不开的问题。macOS应用构建,看似近在咫尺,实则坑坑致命。场景:mac笔记本打包,以及生产出可交付的软件安装包,如何避坑,如何理解app的产生过程!!!!可以按照我测试的路程来配置环境。包......
  • bat脚本打包成exe执行文件
    Bat_To_Exe_Converter1、使用到的工具BatToExeConverter(官网https://www.battoexe.com/)。正常安装好来即可。打开工具软件工具默认是英文界面的,如果看不惯,可以点击工具栏的language,选择切换为中文界面。2、使用《[win10锁屏壁纸提取保存](https://www.cnblogs.com/dongft/p/15......
  • 瑞芯微|rk3568 uart快速上手
    一、调试环境平台:rk3568kernel:4.19.232SDK:rk_android11.0_sdkBoard:rk3568-evb1-ddr4-v10二、rk3568uart控制器1.特性:rk3568UART控制器特性如下:-UART控制器通道:UART0~UART8【datasheet好像写的有问题】-包含2组64字节的FIFO,用于接收和传输-支持流控......
  • Flutter是跨平台开发终极之选吗?Android开发该如何快速上手Flutter?
    跨端技术是Android程序员乃至所有移动开发程序员一直在研究的课题。3月4日,谷歌正式发布了Flutter的2.0。该版本最大的特性就是可以支持五大主流的操作系统:iOS、Android、Linux、Windows和MacOS。官方甚至还说丰田将会把Flutter带到汽车中。也就是说,我们可以用一套Flutter......
  • 初学MVC快速上手
    步骤:第一步导入springmvc的坐标和servlet的坐标(添加依赖) 。第二步环境配置需要添加config类进行配置注解 第三步初始化Servlet容器,对该方法进行实现,并设置请求拦截第四步,创建控制器类,并设置路径 第五步创建jsp注意需要按照第一步中添加的前后缀进行 ......
  • skywalking快速上手
    Skywalking官网(SW快速上手)Skywalking本地安装(windows为例)skywalking本次使用的是apache-skywalking-apm-bin-es7(https://archive.apache.org/dist/skywalking),打开文件夹,打开目录bin/.bat是windows启动。点击之后会出钱两个command,这个时候就启动成功了。打开loca......
  • spring-boot 打包 配置、lib、脚本分开 的maven配置
    <profiles><profile><id>dev</id><properties><spring.profiles.active>dev</spring.profiles.active></properties></profile>......
  • vue-elementAdmin项目打包后白屏的问题
    Vue项目打包后出现白屏的可能原因有很多1.可能的思路和解决方案:1.确认静态资源路径是否正确。  在Vue项目中,打包后会生成一个dist目录,确保index.html引用的资源路径都是相对于dist目录的。2.确认路由是否正确配置。  如果打包后出现了白屏,可能是因为路由没......