WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容)

在这里插入图片描述

WebPack的作用

把静态模块内容压缩、整合、转译等(前端工程化)
1️⃣把less/sass转成css代码
2️⃣把ES6+降级成ES5
3️⃣支持多种模块文件类型,多种模块标准语法

export、export default、module.exports、exports

导出方法的区别:参考文章

WebPack的使用(WebPack支持ECMA语法)

在这里插入图片描述

//--save-dev 表示在开发环境中使用而不安装到全局
npm i webpack-cli --save-dev

在package.json中加入自定义命令build(自己定义的,一般都用build)
在这里插入图片描述
运行工具命令

npm run build

生成dist文件
在这里插入图片描述
生成的main.js为src目录下的压缩文件,运行打包好的文件如下
在这里插入图片描述

修改WebPack打包入口和出口

点击查看webpack文档

在根目录下创建webpack.config.js文件,进行修改配置
在这里插入图片描述

可以在出口中添加 clean:true 来清空dist重新创建

打包资源

WebPack自动生成HTML

插件 html-webpack-plugin:在webpack打包时生成html文件
下载:

npm install --save-dev html-webpack-plugin

配置

const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');

module.exports = {
  entry: 'index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'index_bundle.js',
  },
  plugins: [new HtmlWebpackPlugin()],//默认生成一个最简单的html5页面  //HtmlWebpackPlugin({template:path.join(_dirname,'文件路径')})  //以指定文件为模板
//    plugins: [new HtmlWebpackPlugin({ template: path.resolve(__dirname, './public/index.html') })]
};

在这里插入图片描述

webpack打包css模块

npm i css-loader style-loader --save-dev

在这里插入图片描述

   module: {
        rules: [{
            test: /\.css$/i,
            use: ["style-loader", "css-loader"]
        }]
    }

在这里插入图片描述

打包less模块

//less-loader将less转为css,因为浏览器只认识css
 module: {
        rules: [{
            test: /\.css$/i,
            use: ["style-loader", "css-loader"]
        },
        {
            test: /\.less$/i,
            use: ["style-loader", "css-loader","less-loader"]
        }]
    }

在这里插入图片描述

打包图片

//type:‘asset’,根据文件大小(8kb)小于:把文件转成base64打包进js文件中(减少网络请求次数),大于:文件复制到输出的目录下

//在入口文件中引入图片
import img from './assets/logo.png'

在这里插入图片描述

babel编译器

在这里插入图片描述

WebPack开发服务器

在这里插入图片描述

还需要配置package.json文件,同时切换模式为开发者模式(不进行打包),自动监听入口文件的变化
在这里插入图片描述

运行服务器
npm run dev
//自动打开网页修改配置为
 "dev": "webpack server --open --mode=development"

打包模式

在这里插入图片描述

开发环境调错-source map

可以定位错误具体的位置而不是错误在压缩文件中的位置
在这里插入图片描述
注意:只在开发环境下使用
在这里插入图片描述

解析别名alias

在webpack.config.js中配置
在入口文件中使用别名时,入口文件会到webpack中通过别名找真正的路径
在这里插入图片描述
配置:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业如何有效防止员工偷懒磨洋工?

在当今竞争激烈的商业环境中,企业要想保持竞争力和提高效益,就必须确保员工不偷懒不磨洋工。然而,要有效防止员工偷懒磨洋工并非易事,需要企业采取一系列措施来引导和监督员工的工作状态。 下面就分享三个有效防止员工偷懒磨洋工…

unity3d for web

时光噶然 一晃好多年过去了(干了5年的u3d游戏),记得最后一次使用的版本好像是 unity 2017。 那个是 unity3d for webgl 还需要装个插件。用起来很蛋疼。 最近做一个小项目 在选择是用 Layabox 还是 cocosCreate 的时候 我想起了老战友 Uni…

DeepMind终结大模型幻觉?标注事实比人类靠谱、还便宜20倍,全开源

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源​ 发布在https://it.weoknow.com 更多资源欢迎关注 ​ DeepMind 这篇论文一出,人类标注者的饭碗也要被砸了吗&a…

警惕.360勒索病毒:如何预防.360勒索病毒攻击

导言: 在网络安全领域,勒索病毒是一种非常危险的恶意软件,它以其独特的加密方式和高昂的赎金要求,给个人和企业带来了严重的损失。.360勒索病毒便是其中之一,它属于BeijingCrypt勒索病毒家族,具有高度的隐…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项样卷

#需要资源(软件包及镜像)或有问题的,可私博主!!! #需要资源(软件包及镜像)或有问题的,可私博主!!! #需要资源(软件包及镜…

iOS网络抓包工具全解析

摘要 本文将深入探讨iOS平台上常用的网络抓包工具,包括Charles、克魔助手、Thor和Http Catcher,以及通过SSH连接进行抓包的方法。此外,还介绍了克魔开发助手作为iOS应用开发的辅助工具,提供的全方面性能监控和调试功能。 在iOS应…

2024年妈妈杯数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

AI预测福彩3D第20弹【2024年3月28日预测--第5套算法开始计算第2次测试】

今天,咱们继续进行本套算法的测试,今天为第二次测试,仍旧是采用冷温热趋势结合AI模型进行预测。好了,废话不多说了。直接上结果~ 仍旧是分为两个方案,1大1小。 经过人工神经网络计算并进行权重赋值打分后,3…

【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Networks

(ELA)Efficient Local Attention for Deep Convolutional Neural Networks 论文链接:ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org) 作者:Wei Xu, Yi Wan 单位:兰州大学信息…

【MySQL探索之旅】MySQL数据表的增删查改——约束

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

【学习】企业为什么要做信创适配性测试

信创产业的发展不仅关乎国家的信息安全和自主可控,也直接关系到经济社会的创新和转型升级。因此,国家积极出台了一系列支持政策,以促进信创产业的快速发展。在各项政策出台的推动下,信创产品已经成为越来越多企业和机构的首选。信…

骨传导耳机哪个牌子值得入手?公认口碑排行前5名,强烈推荐!

我作为一名数码达人,对各类数码产品都了解的比较多,最近也会被很多人询问关于骨传导耳机哪个牌子好,哪个牌子值得入手的问题,后面了解后发现很多人入手的骨传导耳机都是劣质产品,在使用中经常遇到各类问题,…

【Go】结构体中Tag标识

https://blog.csdn.net/weixin_45193103/article/details/123876319 https://blog.csdn.net/qq_49723651/article/details/122005291 https://juejin.cn/post/7005465902804123679 学一点,整一点,基本都是综合别人的,弄成我能理解的内容 Tag定…

【JavaSE】java刷题——基础语法熟练应用

前言 通过本篇题目,可以让初学Java的小伙伴们更加熟练Java的基础语法~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 题1:数字9 出现的次数 题述:编写程序数一下 1到 100 的所有整数中…

四平方和定理

四平方和定理:任意一个正整数都可以被表示为至多四个正整数的平方和。 更强的结论:当且仅当时,n可以被表示为至多三个正整数的平方和,因此,当时,n只能被表示为四个正整数的平方和。 如果 ,这个时…

Leetcode - 周赛390

目录 一,3090. 每个字符最多出现两次的最长子字符串 二,3091. 执行操作使数据元素之和大于等于 K 三,3092. 最高频率的 ID 四,3093. 最长公共后缀查询 一,3090. 每个字符最多出现两次的最长子字符串 本题是一道标准…

JavaEE企业开发新技术4

2.16 模拟Spring IOC容器功能-1 2.17 模拟Spring IOC容器功能-2 什么是IOC? 控制反转,把对象创建和对象之间的调用过程交给Spring框架进行管理使用IOC的目的:为了耦合度降低 解释: 模仿 IOC容器的功能,我们利用 Map…

LeetCode 206.反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: …

这款基于Vue的大数据可视化平台,你绝对值得拥有

这款基于Vue的大数据可视化平台,你绝对值得拥有 一、项目介绍二、相关技术栈三、运行步骤四、项目演示五、总结 大家好,这里是程序猿代码之路。今天主要给大家介绍一款基于Vue的可视化数据大屏。在数字化转型的浪潮中,大数据的可视化展示变得…

【Win】使用PowerShell和Webhooks轻松发送消息至Microsoft Teams

Microsoft Teams是一款由微软开发的团队协作和通讯工具。如果您对这个名字还不太熟悉,那么现在就是一个了解它的好时机。微软将Teams定位为其之前Skype for Business解决方案的继任者,并且它也提供了与其他基于频道的通讯应用程序(例如Slack、…