当前位置: 首页 > news >正文

webpack 静态模块打包工具

webpack

为什么?

把静态模块内容,压缩,整合,转译等(前端工程化)

  • 把less/sass转成css代码
  • 把ES6+ 降级成ES5
  • 支持多种模块文件类型,多种模块标准语法

vite

为什么不直接学习vite 而学习webpack

因为很多项目还是基于webpack来进行构建的,所以还要掌握webpack

案例:封装utils包,校验用户名和密码长度 ,在index.js种使用,使用webpack打包

步骤:

1.新建项目文件夹,初始化包环境

2.新建src源代码文件夹(书写代码)

3.下载webpack webpack-cli 到项目(版本独立)

4.项目种允许工具命令,采用自定义命令的方式(局部命令)

5.自动产生dist分支文件夹(压缩和优化后,用于最终运行的代码)

总结:

在package.json中自定义命令

"scripts": {"test": "echo \"Error: no test specified\" && exit 1","build":"webpack"},

如何运行package.json 里的自定义命令

npm run 自定义命令

修改webpack打包入口和出口

步骤:

1.项目根目录,新建webpack.config.js配置文件

2.导出配置对象,配置入口,出口文件路径

//webpack.config.js
const path = require('path')module.exports={// 入口entry:path.resolve(__dirname,'src/main.js'),// 出口  path 路径  filename 文件名output:{path:path.resolve(__dirname,'dist'),filename:'my-first-webpack.bundle.js'}
}

自动生成html文件

HtmlWebpackPlugin 简化了 HTML 文件的创建

步骤:

1.下载本地软件包

2.配置webpack.config.js让webpack拥有插件的功能

3.指定以public/index.html为模板复制到dist/index.html ,并自动引入其他打包后资源

 plugins:[new HtmlWebpackPlugin({// 以指定的html文件为生成模板template:path.resolve(__dirname,'public/index.html')})]

打包css模块

注意:webpack默认只识别js和json文件内容

加载器 css-loader 解析css代码

加载器style-loader 把解析后的css代码插入到DOM

步骤:

1.准备css文件导入到src/main.js中 (压缩转移处理)

2.下载css-loader 和style-loader本地软件包

3.配置webpack.config.js 让webpack拥有该加载器功能

4.打包后运行dist/index.html

打包less模块

加载器 less-loader 把less代码编译为css代码,还需要依赖less软件包

步骤:

1.准备less样式导入到src/main.js中 (压缩转移处理)

2.下载less 和less-loader本地软件包

3.配置webpack.config.js 让webpack拥有该加载器功能

4.打包后运行dist/index.html

打包图片

webpack5 内置了资源模块的打包,无需下载额外的loader

步骤:

1.准备图片素材到src/assets中

2.在index.less中给body添加背景图

3.在main.js中给img标签添加logo图片

4.配置webpack.config.js 让webpack拥有该加载器功能

5.打包后运行dist/index.html

相关文章:

webpack 静态模块打包工具

webpack 为什么? 把静态模块内容,压缩,整合,转译等(前端工程化) 把less/sass转成css代码把ES6 降级成ES5支持多种模块文件类型,多种模块标准语法 vite 为什么不直接学习vite 而学习webpack 因为很多项目还是基于webpack来进…...

万界星空科技/免费开源MES系统/免费仓库管理

仓库管理(仓储管理),指对仓库及仓库内部的物资进行收发、结存等有效控制和管理,确保仓储货物的完好无损,保证生产经营活动的正常进行,在此基础上对货物进行分类记录,通过报表分析展示仓库状态、…...

【暑期每日一练】 Epilogue

目录 选择题(1)解析: (2)解析: (3)解析: (4)解析: (5)解析: 编程题题一描述输入描述:输…...

Go微服务实践 - Rpc核心概念理解

概述 从0研究一下Golang已经Golang的微服务生态体系,Golang的微服务首先要从Rpc开始,在升级到Grpc,详细介绍这些技术点都在解决什么技术问题。 Rpc Rpc (Remote Procedure Call) 远程过程调用,简单的理解是一个节点请求另一个节…...

Effective Java笔记(27)消除非受检的警告

用泛型编程时会遇到讲多编译器警告 : 非受检转换警告( unchecked cast warning )、非受检方法调用警告、非受检参数化可变参数类型警告( unchecked parameterized vararg type warning),以及非受检转换警告…...

Dapper

介绍 Dapper是一个轻量级的ORM(对象关系映射)框架,它可以方便地将数据库查询结果映射到.NET对象上,同时也支持执行原生SQL查询。下面我将详细介绍Dapper的使用方法。 安装Dapper 首先,你需要通过NuGet包管理器将Dap…...

Python基础知识(一)

数据类型 基本类型 数字,字符串,布尔 数字类型 int整型 整数 float浮点型 带小数的数 complex复数 abj 字符串类型 str字符串 视作文本 组成:由数字,字母,空格,其他字符等组合而成 表达&#xff…...

QTthreadPool 程序

//*******************主窗口****************************// ------------------------.H--------------------------------- ----------------------------------------------------------- #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #inclu…...

python注册机制Registry

Register用法 1. 为什么使用Register2. 先验知识-----装饰器2.1 代码视角的装饰器用法2.2 装饰器的使用场景2 3. Registry注册器参数parent介绍未完待续 1. 为什么使用Register 2. 先验知识-----装饰器 2.1 代码视角的装饰器用法 实例1 decorate def func():pass #! 等价于…...

【Megatron-DeepSpeed】张量并行工具代码mpu详解(三):张量并行层的实现及测试

相关博客 【Megatron-DeepSpeed】张量并行工具代码mpu详解(三)&#xff1a;张量并行层的实现及测试 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一)&#xff1a;并行环境初始化 【Megatron-DeepSpeed】张量并行工具代码mpu详解(二)&#xff1a;Collective通信操作的封装ma…...

【SpringBoot学习笔记】02. yaml配置注入

yaml配置注入 yaml基础语法 说明&#xff1a;语法要求严格&#xff01; 1、空格不能省略 2、以缩进来控制层级关系&#xff0c;只要是左边对齐的一列数据都是同一个层级的。 3、属性和值的大小写都是十分敏感的。 yaml注入配置文件 1、在springboot项目中的resources目录…...

【初阶C语言】指针的妙用

前言&#xff1a;在C语言中&#xff0c;有一个非常重要的知识点&#xff0c;叫做指针&#xff0c;指针也是数据类型中的一种。在本节内容中&#xff0c;我们就一起来学习指针。 学习一个新知识的时候&#xff0c;我们需要从这几个方面&#xff1a;指针是什么&#xff0c;指针是…...

链表——LinkedList类的概述和实现

LinkedList类 1.1LinkedList类概述 LinkedList类底层是基于双向链表结构实现的&#xff0c;不同于ArrayList类和Vector类是基于数组实现的&#xff1b;LinkedList类是非线程安全的&#xff1b;LinkedList类元素允许为null&#xff0c;允许重复元素&#xff1b;LinkedList类插…...

快六一啦,学习CSS3实现一个冰淇淋动画特效

快六一啦&#xff0c;小时候顶多吃个小冰棍&#xff0c;或者是那种小冰袋&#xff0c;现在的小朋友真是好&#xff0c;动不动就能吃到冰淇淋&#xff0c;今天用CSS3实现一个冰淇淋的动画特效吧 目录 实现思路 桶身的实现 冰淇淋身体的实现 五彩颗粒的实现 HTML源码 CSS3源…...

VSCode CMake vcpkg 整合

VSCode 整合 CMake 调试 CMake 工程 // launch.json {"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch",// Resolved by …...

c++ | win vscode

vscode 适合新手做一些简单的单个的编译和调试 新手适合去配置c 环境&#xff0c;尤其是当涉及复杂一点的编程&#xff0c;如多文件、多线程&#xff0c;在调试的时候会头大&#xff0c;要求会高一点 但怎么说呢&#xff1f; c 编译和调试是最接近实际开发环境的&#xff0c;与…...

算法-快速排序

给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5] 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5] 详细思路直接看我录制的视频吧 算法-快速排序_哔哩哔哩_bilibili class Soluti…...

SSM项目-博客系统

在线体验项目&#xff1a;登陆页面 项目连接&#xff1a;huhublog_ssm: 个人博客系统 技术栈&#xff1a;SpringBoot、SpringMVC、Mybatis、Redis、JQuery、Ajax、Json (gitee.com) 1.项目技术点分析 SpringBoot、SpringWeb(SpringMVC)、MyBatis、MySQL(8.x)、Redis(存储验…...

Android Gradle Plugin 编译

1. 源码下载&#xff1a; $ mkdir studio-main $ cd studio-main $ repo init -u https://android.googlesource.com/platform/manifest -b studio-main $ repo sync -c -j4 -q 这个官方网址让下载 studio-master-dev 分支&#xff0c;这个分支很老旧了&#xff0c;我这里直接…...

如何快速掌握水土保持方案编制

1、熟悉水土保持常用的主要法律法规、部委规章、规范性文件及技术规范与标准&#xff1b; 2、了解水土保持方案、监测及验收工作开展的流程&#xff1b; 3、熟悉水土保持方案、监测及验收工作需要收集的资料、现场踏勘注意事项&#xff1b; 4、熟悉常见水土保持工程施工工艺…...

别再为AI芯片的模拟前端发愁了!手把手教你用Cadence Virtuoso搞定7nm共源共栅放大器设计

7nm共源共栅放大器实战&#xff1a;从Cadence Virtuoso到AI加速器集成 在AI芯片设计的竞技场中&#xff0c;模拟前端电路如同短跑运动员的起跑器——微小的性能差异将直接影响整个系统的冲刺速度。当我们面对7nm工艺下低至0.8V的电源电压时&#xff0c;传统放大器设计方法就像穿…...

机器学习周报三十九

文章目录摘要Abstract1.TurboDiffusion1.1 注意力改进1.2蒸馏模型1.3权重量化2 训练和推理2.1 训练阶段2.2 推理阶段3 Make It Count3.1数据集3.2损失函数总结摘要 本周阅读了清华大学的论文《TurboDiffusion: Accelerating Video Diffusion Models by 100–200 Times》&#…...

OpenClaw低成本方案:Qwen3-14B私有镜像替代OpenAI API实战

OpenClaw低成本方案&#xff1a;Qwen3-14B私有镜像替代OpenAI API实战 1. 为什么选择本地模型替代商用API 去年冬天&#xff0c;当我第一次用OpenClaw自动整理全年会议纪要时&#xff0c;看着账单里OpenAI API的消耗记录&#xff0c;手指悬在键盘上半天没敢点"重试"…...

seo关键词买量报价是多少_seo关键词推广报价是多少

SEO关键词买量报价是多少_SEO关键词推广报价是多少 在当前的数字营销环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为企业提升网站流量和品牌知名度的重要手段。其中&#xff0c;关键词买量报价和关键词推广报价是两个关键概念&#xff0c;对于企业进行SE…...

OpenClaw语音控制扩展:gemma-3-12b-it对接Whisper实现声控自动化

OpenClaw语音控制扩展&#xff1a;gemma-3-12b-it对接Whisper实现声控自动化 1. 为什么需要语音控制智能助手&#xff1f; 去年冬天的一个深夜&#xff0c;我正蜷在沙发上修改代码&#xff0c;双手被毛毯裹得严严实实。突然需要查询某个API文档&#xff0c;却不得不挣扎着伸出…...

从零到一:基于MMPretrain框架定制化训练专属图像分类模型

1. 环境准备与框架安装 第一次接触MMPretrain时&#xff0c;我对着官方文档折腾了半天环境配置。后来发现用mim这个包管理工具能省去80%的依赖问题。先确保你的Python环境是3.7版本&#xff0c;然后执行下面这组命令&#xff1a; pip install openmim mim install mmengine mim…...

微信小程序地图气泡实战:从callout到customCallout的性能与兼容性深度解析

1. 微信小程序地图气泡的核心需求解析 第一次接触微信小程序地图气泡需求时&#xff0c;我也被各种技术方案搞得晕头转向。经过多个项目的实战验证&#xff0c;我发现开发者最常遇到的三大核心问题就是&#xff1a;内容复杂度、性能瓶颈和跨平台兼容性。比如在电商小程序中&…...

OpenClaw自动化周报:Qwen3.5-9B-AWQ-4bit整合截图生成工作总结

OpenClaw自动化周报&#xff1a;Qwen3.5-9B-AWQ-4bit整合截图生成工作总结 1. 为什么需要自动化周报 每周五下午&#xff0c;我的电脑屏幕总会同时开着十几个窗口&#xff1a;项目管理系统截图、代码提交记录、会议纪要文档、临时笔记文件……把这些碎片信息整理成结构化周报…...

proxy-GS:vulkan编译(记录)

文章目录第一阶段&#xff1a;干净的基准环境配置第二阶段&#xff1a;核心 CUDA 算子安装第三阶段&#xff1a;代码“外科手术”&#xff08;解决 API 不匹配&#xff09;第四阶段&#xff1a;Vulkan 后端终极编译第五阶段&#xff1a;漫游验证Proxy-GS 的配置vulkan流程。看到…...

白嫖DeepSeek、GLM、MiniMax、Kimi等大模型,每天 1亿 Token 免费领!

每天免费领 1亿 Token&#xff0c;白嫖DeepSeek、GLM、MiniMax、Kimi等大模型&#xff01; 最近折腾 AI 编程的朋友估计挺多的。这玩意儿现在进化得确实有点吓人。就拿名气最大的 Claude Code 来说&#xff0c;它这个命令行工具直接把写代码变成了“在线聊天”。你只要嘴上说清…...