【Vue】如何使用Webpack实现打包操作

news/2024/5/9 22:15:56

一、Webpack介绍

   Webpack最主要的作用就是打包操作,由两个核心部分构成分别是“出口”与“入口”。wbepack是现在比较热门的打包工具了,它可以将许多松散耦合的模块按照依赖和规则打包成符合生产环境部署的前端资源。说的直白一点,通过webpack打包操作,我们可以把原来的js文件通过打包,需要使用的时候直接引用,这样可以实现模块化开发,当然它的功能还不止于此。本文就介绍一个简单的打包操作和其相关的基础知识点。

二、安装Webpack

1、安装

指令①:

npm install webpack -g

a0ca7fa616a54f6e9cfc20175e4aefaa.png

指令②:

npm install webpack-cli -g

a22d54273dfe48eda71a289f578e01ea.png

查看安装是否成功:

webpack -v

webpack-cli -v

2、配置

创建webpack.config.js配置文件的一些属性

entry : 入口文件,指定webpack打包从那个文件作为项目入口

output : 出口,将指定的webpack放置到指定路劲

module : 模块,用于处理各种类型文件

plugins : 插件,引入的外部资源如scriptlink,也可以用于代码重用等

resolve : 设置路径的指向

watch : 监听功能

三、实操Webpack

1、创建一个webpack的文件夹

46602bbea883402a8a99dfc7df08d1e9.png

2、用IDEA打开项目并创建modules包

29a82a37d31d41daaa1a49d7bd089ed4.png

3、在modules包下写JS相关文件

5194637a2b3141168c0244877621e363.png

4、再在modules包下写main.js的入口文件,用于打包时的设置entry属性

3539abf0f679418988f50a7705420a5f.png

5、在目录项创建webpack.config.js配置文件,用于打包

7d40b3a6f5d045599a7b36b92fe2b003.png

6、在终端控制台使用webpack进行打包

指令:webpack

562b854a61e94be3ac81fdeae8c5731a.png

此时,idea根目录多一个dist包,里面有打包好的js文件。

d1a5cb70d98a4005a33512f61b671cdc.png

7、直接引用打包好的文件

创建一个index.htm主入口文件,将我们打包好的js文件通过<script>引入,运行。

3ba9f4b1fddf495fb0221146816e5f95.png

效果:

945de78545c1450b82b64ff358964133.png

四、Webpack打包原理

ee20013e90084e7f9dd32391ac7ec5b8.png

如图是webpack通过我们的webpack.config.js进行打包的基本流程,希望对大家有所帮助。

五、总结

   其实,我觉得这个webpack打包更有意思的,把我们的源文件进行压缩后,可以直接调用或者运行。我之前玩过一段时间的小程序,当时有个人给了我一个程序代码就是打包过后的(当时自己还不知道打包这个东东),这个程序可以用小程序直接运行,但是那么代码就看不懂,让自己困惑了好一段时间。当然现在自己学的比较多,之前不同的地方来慢慢清晰了起来。为什么要说这个事呢?其实是希望在屏幕前看这篇博客的小伙伴能够不忘初心,砥砺前行。那些让你现在迷惑的,搞不懂的,终有一天,你会把所有的细节,所以的内部把内容都搞明白的!加油!各位!

 


http://www.mrgr.cn/p/76483781

相关文章

RPC(远程过程调用)详解

一、RPC是什么 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 二、RPC需要解决的问题 1、Call ID映射 我们怎么告诉远…

【基础算法总结】双指针算法二

双指针 1.有效三角形的个数2.和为S的两个数字3.和为S的两个数字4.四数之和 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.有效三角形的个数…

前端工程化Vue使用Node.js设置国内高速npm镜像源(踩坑记录版)

前端工程化Vue使用Node.js设置国内高速npm镜像源&#xff08;踩坑记录版&#xff09; 此篇仅为踩坑记录&#xff0c;并未成功更换高速镜像源&#xff0c;实际解决方法见文末跳转链接。 1.自身源镜像 自身镜像源创建Vue项目下载速度感人 2.更改镜像源 2.1 通过命令行配置 前提…

京东web端h5st—4.7逆向分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6Ly93d3cuamQuY29tLw== 分析流程了解h5st 看了sha256相关加密算法逻辑b…

API和微服务设计的优化方式有哪些?

在构建响应迅速、用户体验良好的应用程序中&#xff0c;API性能的优化至关重要。在构建高性能的API时&#xff0c;采取综合策略是至关重要的。通过采用一系列策略&#xff0c;我们可以确保API在处理请求时高效运行&#xff0c;提供流畅的服务。 一、API和微服务设计的优化可以…

XYCTF2024-web-wp

怎么全是傻逼绕过题。 不想评价,就随便打着玩,除了最后一道java反序列化搞心态,其他的ak了:简单题不想说,http注意一下代理是用Via就行,warmup直接:http://xyctf.top:37034/?val1=240610708&val2=QNKCDZO&md5=0e215962017&XYCTF=240610708&XY=24061070…

深入mysql索引

1. 索引 索引是对数据库表中一列或多列的值进行排序的一种结构。 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。 简单类比…

平衡树炫酷科技

炫酷平衡树科技标题是吸引你点进来的 Case 1 LCT 的 access 操作应该可以实现某种区间覆盖的操作(听同学讲的,具体的还待讨论) Case 2 众所周知,可并堆中左偏树合并是这样写的(记 \(dist\) 为 \(rd\)): merge(A, B)if !A: return Bif !B: return Aif B.val > A.valsw…

杰发科技AC7840——ADC简介(1)_双路ADC同时使用

0. 简介 1. 特性 2. 双路ADC Sample里面没有双路的&#xff0c;以为那个规则组只有一个通道&#xff0c;看了外设寄存器才发现&#xff0c;原来他的通道是双路的。 注意1: ADC硬件引脚的配置 注意2: 规则组长度设置和 RSEQ序列号和CH通道号组合应该就对应了转换顺序&#xff0…

UniAD:以规划为导向的端到端自动驾驶

文章链接 这个文章是CVPR2023 Best Paper https://arxiv.org/pdf/2212.10156 提出背景 以往的自动驾驶多数是为不同的任务场景设计部署单独的模型&#xff0c;这样子组成的系统会很复杂如图a。 图b这是多任务共享一个主干&#xff0c;但还是要分离训练&#xff0c;而且不是…

ChatGPT有记忆了?!持久记忆(Memory)功能详细解读和教程!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

如何使得 单个项目有与其他项目 不一样的对齐方式

今天修改项目的样式&#xff0c;有这么个问题&#xff0c;便记录下。 align-self属性允许单个项目有与其他项目不一样的对齐方式&#xff0c;可覆盖align-items属性。默认值为auto&#xff0c;表示继承父元素的align-items属性&#xff0c;如果没有父元素&#xff0c;则等同于…

如何解决升级IntelliJ IDEA 2024后 打开项目就自动闪退关闭问题的终极指南

title: “&#x1f42f; 解决升级IntelliJ IDEA 2024后项目自动关闭的终极指南” date: 2024-04-23 author: 猫头虎 profile: CSDN 文章目录 title: "&#x1f42f; 解决升级IntelliJ IDEA 2024后项目自动关闭的终极指南" date: 2024-04-23 author: 猫头虎 profile: …

萌面匣超萌的小金刚

一款非常精致的金属机箱来了这款机箱支持的主板:畅网微控 P5 N100、N200、N305 V3版本的开发版 特点:卖家定制了背板+定制万兆网卡的转接板说说优点:贵 这款6盘的机箱是2.5英寸的小硬盘机箱 散热不错,也不怕化了 戴尔的硬盘架很专业 支持万兆 带wifi的小机器 适合长期使用,…

Games 101: 旋转矩阵

旋转矩阵 本文主要介绍了旋转矩阵的推导,分为两种方式:旋转坐标 旋转坐标轴 以下坐标系都是右手坐标系旋转坐标 已知坐标点\(A(x_a,y_a)\), 旋转\(\theta\)角后变为坐标点\(B(x_b,y_b)\),求解旋转矩阵.\[{\large \begin{align*} \begin{split} x_a &=r_a \cdot cos(\alp…

ROS学习-启动服务端错误debug

ros2 run examples_rclpy_minimal_service service 输入这个命令用于运行服务节点,这个服务的功能是将两个数字相加,给定a,b两个数,返回sum也就是ab之和。 报错: 2024-04-27 13:11:39.105 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7412:open_and_lock_f…

Echarts多条折线图line显示数值和真实数值不一致

问题图: 折线图数据显示不匹配原因:在line的配置项中加了"stack"这一项配置,stack为‘Total’或‘总量’的情况下,y轴不是真实的value的值,而是value的总量值。既后续折现的数值在前数值的基础上相加. 官网对stack的描述:数据堆叠,同个类目轴上系…

mysql定时执行语句

一、前提 #确保事件调度为开放(ON) SHOW VARIABLES LIKE event_scheduler;二、场景 1、创建test01 表&#xff0c;表中存储1000条数据&#xff1b; 2、创建空表test02&#xff0c;表结构与 test01相同&#xff1b; 3、将test01中的数据以每分钟10条的形式转移到test02中去三、…

Docker深入探索:网络与资源控制、数据管理与容器互联以及镜像生成

目录 一、 Docker网络 &#xff08;一&#xff09;Docker网络实现原理 &#xff08;二&#xff09;Docker网络模式 1. Bridge网络&#xff08;默认&#xff09; 2. Host网络 3. None网络 4. Container网络 5. 自定义网络 二、资源控制 &#xff08;一&#xff09;cgr…

IDELAY约束测试

前置条件: DDR模式 LR RISE:1.9-2.1 FALL:1.9-2.1 约束情况1: value:0 IBUF-BUFG-IDELAYE2-IDDR value:0 IBUF-IDELAYE2-IDDRmodule rgmii_dphy (input wire sys_rst_n ,input wire sys_ref_200mhz ,//eth input wire i_eth_r…