webpack零基础入门

news/2024/11/22 22:44:42/

一、什么是webpack

Webpack 是一个现代的 JavaScript 应用程序静态模块打包器 (module bundler)。 它是一个开源的前端工具,可以将各种资源文件(JS、CSS、图片、字体等)打包成一个或多个包,并且能够通过配置选项来实现各种构建需求。

当你的应用程序逐渐变大,代码量变得越来越多,你就需要使用模块来组织代码。然而,模块化使用的代码需要打包成一个或多个文件以便浏览器可以使用。这是 Webpack 出现的初衷,它的主要作用将各种模块打包成浏览器可以识别的代码。Webpack 还提供了各种插件和加载器,让你可以根据需要灵活配置打包过程。

Webpack 主要的使用场景包括

  • 模块打包功能:Webpack 可以将多个模块打包成一个文件,从而减小了文件体积、提高了网站性能
  • 处理依赖项:Webpack 可以通过依赖图来分析依赖项,帮助我们使用公共代码来减少重复的代码块
  • 支持模块化:Webpack 支持 CommonJS 和 AMD 等模块化语法,可以让开发者更好的组织代码
  • 处理多种资源:Webpack 支持处理各类静态资源,如图片、CSS 文件、字体文件等。

总结一句白话就是,我们在用框架开发时,如react,vue等这些框架中使用的ES6 模块化语法Less/Sass 等 css 预处理器等语法进行开发,这些语法开发出来应用程序是不能直接在浏览器运行的,浏览器不识别,想要运行必须经过编译成浏览器能识别的 JS、Css 等语法,才能运行。webpack就是干这个工作的,将这些高级语法编译成浏览器能识别的语法,当然这只是webpack最基本功能,它还可以压缩代码、做兼容性处理、提升代码性能

二、基本使用

1. 建立项目目录

bacewebpack # 项目根目录(所有指令必须在这个目录运行)└── public # 项目执行目录└── index.html # 项目主文件└── src # 项目源码目录├── js # js文件目录│   ├── count.js│   └── sum.js└── main.js # 项目主文件

2. 创建文件

count.js

export default function count(x, y) {return x - y;
}

sum.js

export default function sum(x, y) {return x + y;
}

main.js

// 使用import 语法将 count.js和sum.js导入到main.js中
import count from "./js/count"; 
import sum from "./js/sum";// 输出调用这两个函数的结果
console.log(count(2, 1));
console.log(sum(1, 4));

public->index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div>hello webpack</div><!-- 引入main.js --><script src="../src/main.js"></script>
</body>
</html>

到这里我们准备工作 就做完了,我们在src中创建了js文件,但是这里面的js文件全是用import语法导入的,最终我们将src中的main.js用script的方式引入到public目录下的index.html中
然后我们直接将这个index.html文件运行到浏览器中,效果如图:
在这里插入图片描述
可以看到控制台中并没有我们想要的调用两个函数的输出日志,而是报了个错,说是不能用Import语法导入模块。
从这个例子就证实了一点,浏览是不能直接识别高级语法的,想要在浏览器中运行具有高级语法的js文件,需要构建工具提前将这些js编译成浏览器能识别的语法,那么接下来我们就一起尝试下使用webpack

3. 下载依赖

打开终端,来到项目根目录。运行以下指令:

npm init -y

在这里插入图片描述

初始化package.json
此时会生成一个基础的 package.json 文件。
在这里插入图片描述

需要注意的是 package.json name 字段不能叫做 webpack, 否则下一步会报错

下载依赖webpack webpack-cli

npm i webpack webpack-cli -D

在这里插入图片描述
在这里插入图片描述
当你看到如图所示的配置项时,代表你的依赖安装成功

4. 启用 Webpack

开发模式

npx webpack ./src/main.js --mode=development

生产模式

npx webpack ./src/main.js --mode=production

npx webpack: 是用来运行本地安装 Webpack 包的。
./src/main.js: 指定 Webpack 从 main.js 文件开始打包,不但会打包 main.js,还会将其依赖也一起打包进来。
--mode=xxx:指定模式(环境)。

5. 观察输出文件

默认 Webpack 会将文件打包输出到dist目录下的main.js, 如图:
在这里插入图片描述

6.重新引入main.js

这时我们将public目录下index.html文件中原来引入的src目录下的main.js换成现在dist目录下的main.js
如图:
在这里插入图片描述

7.重新运行index.html

如图:
在这里插入图片描述
在我们引入dist目录下的main.js之后,控制台成功打印了调用两个函数的输出结果
这就是webpack的基本功能,编译js文件。当然它不仅仅只有这个功能,后续会持续更新介绍哦,感兴趣的朋友可以来个一键三连,哈哈哈.jpg

webpack的基本使用就介绍到这里啦,欢迎大家留言讨论


http://www.ppmy.cn/news/237843.html

相关文章

CDN和Web加速器之间的区别

在数字时代&#xff0c;网站、社交媒体、电子商务、内容流平台和超个性化网络体验激增。因此&#xff0c;需要实时可靠地为最终用户提供大量生成的内容&#xff0c;而不会出现延迟或崩溃&#xff0c;无论其位置、网络、设备或浏览器如何。为此&#xff0c;使用CDN和web加速器就…

(转载)从0开始学matlab—总结

1.编程实例 下面的例子将向大家介绍如何用 MATLAB 解决问题。 例1 温度转换程序 问题&#xff1a; 设计一个 MATLAB 程序&#xff0c;读取一个华氏温度的输入&#xff0c;输出开尔文温度。 答案&#xff1a; 华氏温度和开尔文温度的转换关系式可在物理学课本中找到。其关系式…

国产手机扬眉吐气,终于打击了苹果的嚣张气焰

苹果在9月份、10月份都取得了快速增长&#xff0c;而国产手机品牌持续下滑&#xff0c;但是11月份终于让国产手机捡回了主动权&#xff0c;11月份的数据显示有国产手机品牌的出货量大幅增长&#xff0c;而苹果的出货量却大幅下滑&#xff0c;国产手机成功反击了苹果。 分析机构…

又一家国产手机芯片崛起,已接近华为曾达到的高度

市调机构counterpoint公布的数据显示&#xff0c;2021年Q4紫光展锐的市场份额继续快速增长&#xff0c;已在全球手机芯片市场取得超过一成的市场份额&#xff0c;这与华为当年曾达到的一成多市场份额已较接近&#xff0c;显示出紫光展锐正在担起国产手机芯片的大旗。 counterpo…

Centos8之系统升级

一、centos8系统简介 CentOS 8是一个基于Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码构建的开源操作系统。它是一款稳定、可靠、安全的服务器操作系统&#xff0c;适合用于企业级应用和服务的部署。CentOS 8采用了最新的Linux内核和软件包管理系统&#xff0c…

微信信息轰炸【简易版】

本版本的微信信息轰炸仅能在电脑端使用&#xff1a; 简单讲解下其中的原理: 在程序中输入我们想要信息轰炸的信息&#xff0c;然后模拟键盘输入。 其实我们就是使用了python的库pynput,模拟输入文字和信息&#xff0c;不多说&#xff0c;上代码 from pynput.keyboard impor…

Python“信息轰炸”

信息轰炸体验过吗&#xff1f;十分钟几百条那种&#xff01;随着信息技术高速发展&#xff0c;人们都是通过手机等通讯方式进行交流&#xff0c;当然在与朋友的聊天过程中&#xff0c;难免会遇到对方长时间不回自己信息&#xff0c;我们就可以通过“信息轰炸”提醒对方&#xf…

用python twilio模块实现发手机短信的功能!

前排提示:这个模块不是用于对陌生人进行短信轰炸和电话骚扰的,这个模块也没有这个功能,如果是抱着这个心态来的,可以关闭网页了 语言:python Python资源共享群&#xff1a;484031800 步骤一:安装twilio模块 pip install twilio 步骤二:进入官网注册 https://www.twilio.c…