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

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

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

● sum.js

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

● main.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.mzph.cn/news/693215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wo-gradient-card是一款采用uniapp实现的透明辉光动画卡片

采用uniapp-vue3实现,透明辉光动画卡片,卡片内容包含标签、标题、副标题、图片 支持H5、微信小程序(其他小程序未测试过,可自行尝试) 可用于参考学习 可到插件市场下载尝试: https://ext.dcloud.net.cn/plu…

【Swift】NSSearchField用法和示例

1.简介 NSSearchField 是 macOS 中用于搜索的文本输入框控件,通常用于实现搜索功能。用户可以在 NSSearchField 中输入搜索关键字,然后触发搜索操作。NSSearchField 可以显示搜索图标和清除按钮,还可以设置占位符文本等属性。 2.常用方法 …

学习鸿蒙基础(5)

一、honmonyos的page路由界面的路径 新建了一个page,然后删除了。运行模拟器的时候报错了。提示找不到这个界面。原来是在路由界面没有删除这个page。新手刚接触找了半天才找到这个路由。在resources/base/profile/main_pages.json 这个和微信小程序好类似呀。 吐槽&#xf…

(3)(3.5) 遥测无线电区域条例

文章目录 前言 1 支持不同国家/地区 前言 本专题列出了每个国家/地区可用的主要频率,并列出了无线电设备。 !Note 合规是你的责任。检查无线电是否符合所在地区/国家的频率、跳频信道和功率级别规定。 !Tip 我们很乐意在此表中添加更多…

初探富文本之文档diff算法

初探富文本之文档diff算法 当我们实现在线文档的系统时,通常需要考虑到文档的版本控制与审核能力,并且这是这是整个文档管理流程中的重要环节,那么在这个环节中通常就需要文档的diff能力,这样我们就可以知道文档的变更情况&#…

力扣精选算法100道——提莫攻击(模拟专题)

目录 🚩题目解析 🚩算法原理 🚩实现代码 🚩题目解析 输入:timeSeries [1,4], duration 2 输出:4 解释:提莫攻击对艾希的影响如下: - 第 1 秒,提莫攻击艾希并使其立即…

图片怎么转换格式jpg?轻松转换图片格式

图片怎么转换格式jpg?在数字化时代,图片作为信息传递的重要载体,其格式转换显得尤为重要。JPG作为一种广泛使用的图片格式,具有压缩比高、兼容性好等特点,深受用户喜爱。那么,如何将其他格式的图片轻松转换…

阿里云服务器安装MySQL、Apache、PHP

节日期间突然想要自己搭建一个个人网站,于是在阿里云申请了一个可以免费使用3个月的服务器,申请的云市场产品Wordpress平台( ALinux3 LNMP PHP7.4)。官方教程使用的CentOs系统,和我申请的ALinux3操作有一些差异&#x…

Oracle使用exp和imp命令实现数据库导出导入

Oracle和MySQL在SQL语法和一些数据库特性上有一些差异,以下是一些常见的差异: 数据类型: Oracle和MySQL支持的数据类型有所不同。例如,Oracle支持NUMBER、DATE、VARCHAR2等类型,而MySQL支持INT、DATE、VARCHAR等类型。字符串比较: 在 Oracle 中,字符串比较默认是区分大小…

【41 Pandas+Pyecharts | 全国星巴克门店数据分析可视化】

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 计算营业时长2.4 营业时长区间 🏳️‍🌈 3. Pyecharts数据可视化3.1 各省星巴克门店数量柱状图3.2 各省星巴克门…

【力扣hot100】刷题笔记Day7

前言 身边同学已经陆陆续续回来啦,舍友都开始投简历了,我也要加油啦!刷完hot100就投! 73. 矩阵置零 - 力扣(LeetCode) 标记数组:空间复杂度O(mn) class Solution:def setZeroes(self, matrix:…

【日常聊聊】计算机专业必看的电影

🍎个人博客:个人主页 🏆个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 方向一:电影推荐 方向二:技术与主题 方向三:职业与人生 结语 我的其他博客 前言 计算机…

flink operator 1.7 更换日志框架log4j 到logback

更换日志框架 flink 1.18 1 消除基础flink框架log4j 添加logback jar 1-1 log4j log4j-1.2-api-2.17.1.jar log4j-api-2.17.1.jar log4j-core-2.17.1.jar log4j-slf4j-impl-2.17.1.jar 1-2 logback logback-core-1.2.3.jar logback-classic-1.2.3.jar slf4j-api-1.7.25.jar2 …

Linux环境安装Git(详细图文)

说明 此文档Linux环境为:Ubuntu 22.04,本文档介绍两种安装方式,一种是服务器能联网的情况通过yum或apt命令下载,第二种采用源码方式安装。 一、yum/apt方式安装 1.yum方式安装Git 如果你的服务器环境是centos/redhot&#xff…

最新Unity游戏主程进阶学习大纲(2个月)

过完年了,很多同学开始重新规划自己的职业方向,找更好的机会,准备升职或加薪。今天给那些工作了1~5年的开发者梳理”游戏开发客户端主程”的学习大纲,帮助大家做好面试准备。适合Unity客户端开发者。进阶主程其实就是从固定的几个方面搭建好完整的知识体…

HarmonyOS—@Observed装饰器和@ObjectLink嵌套类对象属性变化

Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 概述 ObjectLink和Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步: 被Observed装饰的类,可以被观察到属性的变化;子组件中ObjectLink装饰器装饰的状…

蒙特卡洛法批量计算期权希腊值

一般计算期权的希腊值会用中心差分的办法,比如Delta就需要分别计算标的涨跌1%的估值。再加上其他希腊值,我们就需要运行多次蒙特卡洛,时间效率不高。 由于cuda最多支持3个维度,所以我们可以利用这一特点一次性把这些值都算出来。…

医卫医学生理学试题及答案,分享几个实用搜题和学习工具 #经验分享#知识分享

下面,我将为您介绍几款备受大学生欢迎的搜题软件,希望能够帮助您更好地完成学业和提升学习效果。 1.历史地图 历史地图app是一款学习型地图软件,历史地图app比较适用于对历史进行学习和偏爱历史的朋友使用 ,历史地图app支持多平…

什么是C++的模板元编程(Template Metaprogramming)?请提供一个示例

什么是C的模板元编程(Template Metaprogramming)?请提供一个示例 C的模板元编程(Template Metaprogramming,TMP)是一种利用模板技术在编译期执行计算和生成代码的方法。它允许在编译时进行元编程&#xff…

Android Studio Hedgehog 代码补全失效问题记录

Android Studio Hedgehog 代码补全失效问题记录 代码失效问题网上答案很多,如: 关闭省电模式;清空缓存;重启电脑;删除重新安装啥的。但是很一行都没有用,并且我电脑上的4.3.3版本的Android Studio是没有该…