打包的意义 作用等前端概念集合 webpack基础配置等

基础网页是什么?

在学校最基础的三剑客 原生JS CSS H5就可以开发静态网页了
对于浏览器而言也能识别这些基础的文件和语法,真正的所见即所得,非常直接。

为什么要使用框架库?

对于常用的前端框架而言,无论是Vue React angular
他们相比原生JS有以下优点:

  • 他们既能脚手架工具几行命令就可以快速搭建项目。
  • 又能减少大量的重复代码,结构更加清晰,可读性强。
  • 还有丰富的UI库和插件库。

而Jquery作为最常见的JS扩展库,和框架并不相同。相当于用砖头水泥沙子盖房子的话,那么用框架就相当于一个房间一个房间的搭建房子。

为什么要打包?

在使用了以上框架库,甚至是Scss、Less等CSS 预处理器,如果不进行打包,浏览器是无法识别的。要通过webpack等打包工具:
一方面将框架和预处理器等文件编译成浏览器可以识别的普通js css,
另一方面把多个文件合并成一个文件,还涉及到压缩。

而使用webpack对项目进行打包发布的主要原因有两点:

①开发环境之下,打包生成的文件存放于内存中,无法获取到最终打包生成的文件
②开发环境之下,打包生成的文件不会进行代码压缩和心梗优化,为了让项目能够在生产环境中高性能的运营,因此需要对项目进行打包发布。

如何配置打包?

配置 webpack 的打包发布

在 package.json 文件的 scripts 节点下,新增 build 命令如下:
在这里插入图片描述
–model 是一个参数项,用来指定 webpack 的运行模式。production 代表生产环境,会对打包生成的文件进行代码压缩和性能优化。注意:通过 --model 指定的参数项,会覆盖 webpack.config.js 中的 model 选项。

把 JavaScript 文件统一生成到 js 目录中

在 webpack.config.js 配置文件的 output 节点中,进行如下的配置:在这里插入图片描述

把图片文件统一生成到 image 目录中

修改 webpack.config.js 中的 url-loader 配置项,新增 outputPath 选项即可指定图片文件的输出路径:
在这里插入图片描述

自动清理 dist 目录下的旧文件:

为了在每次打包发布时自动清理掉 dist 目录中的旧文件,可以安装并配置 clean-webpack-plugin 插件:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/652052.html

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

相关文章

微信小程序:9.小程序配置

全局配置文件 小程序根目录下的app.json文件是小程序的全局配置文件。 常用的配置文件如下: pages 记录当前小程序所有的页面存放路径信息 window 全局设置小程序窗口外观 tabBar 设置小程序底部的tabBar效果 style 是否启用新版style 小程序窗口的组成部分 了解windo节点常…

【网络技术】【Kali Linux】Wireshark嗅探(十一)以太网Ethernet协议报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客: 【网络技术】【Kali Linux】Wireshark嗅探(一)ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探(二)TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

封装 H.264 视频为 FLV 格式然后推流

封装 H.264 视频为 FLV 格式并通过 RTMP 推流 flyfish 协议 RTMP (Real-Time Messaging Protocol) RTSP (Real Time Streaming Protocol) SRT (Secure Reliable Transport) WebRTC RTMP(Real Time Messaging Protocol)是一种用于实时音视频流传输的协…

医院手术室麻醉信息管理系统源码 自动生成麻醉的各种医疗文书(手术风险评估表、手术安全核查表)

目录 手术风险评估表 一、患者基本信息 二、既往病史 三、手术相关信息 四、风险评估因素 五、风险评估结果 手术安全核查表 一、患者身份与手术信息核对 二、术前准备核查 三、手术团队与职责确认 四、手术物品与设备核查 五、术中关键步骤核查 六、术后核查 七…

全志ARM-蜂鸣器

sh操作准备: 1.使Tab键的缩进和批量对齐为4格 在/etc/vim/vimrc 中添加一项配置 set tabstop 4; 也可以再加一行 set nu显示代码的行数 vim的设置,修改/etc/vim/vimrc文件,需要用超级用户权限 /etc/vim/vimrc set shiftwidth4 设置批量…

杰发科技AC7840——CAN通信简介(7)_波形分析

参考: CAN总线协议_stm32_mustfeng-GitCode 开源社区 0. 简介 隐形和显性波形 整帧数据表示 1. 字节描述 CAN数据帧标准格式域段域段名位宽:bit描述帧起始SOF(Start Of Frame)1数据帧起始标志,固定为1bit显性(b0)仲裁段dentify(ID)11本数…

【介绍下如何使用CocoaPods】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Python 基础

文章目录 一、python 的安装二、基本数据类型1. 数字类型2. 非数字类型3. type()函数 三、语法的使用1. 输入print2. 类型的转换1. 转int()类型2. 转float()类型3. 转str()类型 3.输出 print()1. 基本输出2. % 格式化输出f 字符串 4. if 判断5.if else 判断6. if elif else 判断…

普通屏幕已过时?裸眼3D屏幕显示效果更胜一筹!

随着多媒体技术的迅猛进步,我们日常生活中的内容展现方式,已经经历了前所未有的变革。在这其中,裸眼3D屏幕的应用,无疑是最为引人注目的亮点,它相较于传统屏幕,在显示效果上展现出了鲜明的优势,…

MyBatis入门学习三(缓存、高级查询、分页 插件)

目录 1、MyBatis缓存 1.1 一级缓存 1.2 二级缓存 1.2.1 MyBatis实现 1.2.2 第三方实现 2、高级查询 2.1 数据模型 2.2 创建数据库表 2.3 一对一查询 2.3.1 第一种方式 2.3.2 第二种方式 2.4 一对多查询 2.5 多对多查询 2.6 延迟加载 3、分页插件 1、MyBatis缓存 …

【基础篇】Git 基础命令与核心概念

✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! 一,Git 初识 1.1,问题引入 不知道你工作或学习时,有没有遇到…

【机器学习】Voting集成学习算法:分类任务中的新利器

Voting集成学习算法:分类任务中的新利器 一、Voting集成学习算法概述二、Voting算法的分类方式三、Voting算法在图像识别中的应用四、结论与展望 在机器学习领域,集成学习算法一直以其出色的性能提升能力而备受关注。其中,Voting集成学习算法…