【快速搞定Webpack5】介绍及基本使用(一)

news/2024/7/19 13:05:59 标签: webpack, js, 前端, 前端框架

webpack__0">webpack 是一个静态资源打包工具。

他会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。
输出的文件就是编译好的文件,就可以在浏览器端运行了。
我们将 webpack 输出的文件叫做 bundle
(将浏览器不识别的语法编译成识别的语法)
在这里插入图片描述

功能介绍

webpack本身功能是有限的:

  • 开发模式:仅仅能变易js中的 ES Module 语法。
  • 生产模式:能变易js中的 ES Module 语法,还能压缩代码。

开始使用

1、资源目录

├── dist				# 打包目录
│   └── main.js		# 打包文件
├── package-lock.json
├── package.json		# 包配置文件
├── public			# 静态资源目录
│   └── index.html
└── src				# 项目源码目录
├── js				# js文件目录
│   ├── count.js
│   └── sum.js
└── main.js			# 项目主文件

在这里插入图片描述

2、创建文件

● count.js

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

● sum.js

js">export default function sum(...args) {
    return args.reduce((p, c) => p + c, 0);
}

● main.js

js">import count from "./js/count";
import sum from "./js/sum";

console.log(5, 2);

console.log(sum(1, 2, 3, 4));

3、下载依赖

打开终端,进入项目根目录,运行命令:
● 初始化 package.json

npm init -y

此时,会生成一个基础的package.json文件。
需要注意的是package.json中的name字段不能叫做webpack,否则下一步会报错(你的项目目录也不能叫package

● 下载依赖

npm i webpack webpack-cli -D

ps: -D 加入项目依赖

4、启用Webpack

● 开发模式(development)

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

● 生产模式(production

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

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

5、观察输出文件

默认webpack会将文件打包输出到dist目录下,我们查看dist目录下的文件情况就OK了。

小结

webpack本身功能比较少,只能处理js资源,一旦遇到css等其他资源就会报错。
所以我们学习webpack,就是主要学习如何处理其他资源。


http://www.niftyadmin.cn/n/5384660.html

相关文章

三、滑动窗口问题

3、无重复字符的最长子串(中等) 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输…

网贷大数据查询多了对征信有影响吗?

网贷大数据在日常的金融借贷中起到很重要的风控作用,不少银行已经将大数据检测作为重要的风控环节。很多人在申贷之前都会提前了解自己的大数据信用情况,那网贷大数据查询多了对征信有影响吗?本文带你一起去看看。 首先要说结论:那就是查询网…

【初始RabbitMQ】死信队列的实现

死信的概念 死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致…

python opencv比较图片相似度

目录 一:均值哈希算法 二:三直方图算法 三:单通道直方图 一:均值哈希算法 均值哈希算法是一种快速比较图像相似度的方法。它首先将图像转化为灰度图像,然后计算图像的均值,接着将每个像素的

QT常用事件

鼠标事件(QMouseEvent),如点击、移动、释放等。 键盘事件(QKeyEvent),如按键按下和释放。 窗口事件(QResizeEvent, QMoveEvent),当窗口大小或位置改变时。 绘制事件&…

Spring Cloud Gateway 中文文档

Spring Cloud Gateway 中文文档 官方文档 该项目提供了一个建立在Spring Ecosystem之上的API网关,包括:Spring 5,Spring Boot 2和Project Reactor。 Spring Cloud Gateway旨在提供一种简单而有效的方式来对API进行路由,并为他们提…

Unity摄像机跟随

Unity摄像机跟随 方法一:摄像机子物体 将摄像机直接拖拽到被跟随的目标下面即可,这样摄像机永远在目标的后面 缺点: 屏幕旋转太平滑了目标物体在屏幕上的位置永远不变目标物体被销毁时总不能把摄像机也销毁了吧 方法二:子物体…

laravel-admin的3个开发细节调整

在使用laravel-admin开发的过程中,根据官方开发文档Laravel admin | laravel-admin基本都能实现想要的效果,这里补充3个文档上没有描述的细节 Laravel8命令行创建控制器调整 在laravel-admin中可以使用php artisan admin:make UserController --modelAp…