webpack的相关配置,以及使用webpack打包文件时用到的loader以及相关插件的使用

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

3 webpack配置

从vue-load@15版本开始, vue-loader需要在webpack中添加一个插件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

解决警告小问题

我们发现在webpack打包时会出现这个警告

在这里插入图片描述

找到webpack.config.js在配置中添加mode

在这里插入图片描述

5 在主页中引入bundle.js

在index.html中引入bundle.js测试, 发现报错

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

打包成功!

6 小结

  • webpack本身只能打包js文件, 如果要打包其他文件就需要借助于loader

  • loader其实就是专门用于打包特定文件的处理程序

五. 其他常用loader

一般来说, 一个前端项目除了js文件外, 还有一些常用的文件, 如

图片文件

  • css文件

  • 对于这些文件, webpack都不会打包, 需要我们安装对应的loader帮助webpack打包

1. 打包图片文件

  1. file-loader-----file-loader: 将文件复制到对应的路径, 并返回文件名

i 安装file-loader

npm install -D file-loader

在这里插入图片描述

  • test: 正则表达式–如果需要打包的文件以jpg或者jpeg或者png或者svg结尾时

  • loader: 使用file-loader

ii 测试

在src目录下创建assets目录, 存放静态资源文件(如: images/styles/fonts等)

在这里插入图片描述

在这里插入图片描述

原理: 当遇到jpg结尾的文件时, 使用file-loader将文件copy到dist目录下. 文件名是图片的hash值

如果希望保留原有的文件名, 可以使用占位符(placeholder)配置

在这里插入图片描述

  • [name] : 占位符, 表示使用原文件名

  • [ext] : 占位符, 表示使用原文件扩展名

在这里插入图片描述

2) url-loader----好处是: 直接将小图片打包以base64打包在js中, 减少Http请求的次数, 提高访问效率

i 安装url-loader

执行命令, 安装url-loader

npm install -D url-loader //同时安装file-loader和url-loader

在这里插入图片描述

ii 配置

修改webpack配置, 添加一条规则

在这里插入图片描述

  • test: 正则表达式–如果需要打包的文件以jpg或者jpeg或者png或者svg结尾时

  • loader: 使用url-loader

  • options: 选项

-limit: 当文件小于2048byte时, 以base64打包到js中, 当文件大于2048byte时, 使用file-loader打包

-name: 打包的文件名使用"源文件名.扩展名"方式

ii 测试

复制两张小的svg图片到assets目录下. 并在App.vue中导入

在这里插入图片描述

运行打包命令 npm run build , 在新生成的bundle.js中, 可以看到

在这里插入图片描述

2 打包css文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3 打包stylus文件

目前, stylus做为node项目普通使用的css预处理器被广泛的应用于vue项目中. 大家会发现大部分的vue

项目中都会使用stylus来编写css

1) 推荐的vscode插件与配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2) 打包stylus文件

i 安装stylus-loader

npm install -D stylus stylus-loader

  • stylus: 是stylus文件预处理程序, 作用是将stylus编译成css格式

  • stylus-loader: 加载stylus文件, 调用stylus预处理程序形成css文件

在这里插入图片描述

use: 依次使用stylus-loader, css-loader, style-loader处理

iii 测试

在styles下编写global.styl文件, 编写如下内容

body

// 背景图片

background-image: url(‘…/images/bg.jpg’)

// 背景图片位置固定

background-attachment: fixed

// 背景不要重复

background-repeat: no-repeat

// 背景位置居中

background-position: center center

// 背景覆盖整个viewport

background-size: cover

// 当背景没有加载时的颜色

background-color: #fff

在这里插入图片描述

在App.vue中引入global.styl

在这里插入图片描述

由于在开发环境, 打包后的文件路径都是相对于dist目录, 因此我们还需要暂时把index.html移动到dist

下, 并做如下修改

在这里插入图片描述

打包以后测试如下

在这里插入图片描述

3) 处理vue文件中的stylus

i 安装

在前面, 我们已经安装了stylus和stylus-loader, 这里就不用再安装了

在这里插入图片描述

注意:vue-style-loader: 是vue-loader自带的style-loader, 在style-loader的基础上, 还可以处理vue文件中的样式

iii 测试

我们在App.vue中修改一下

在这里插入图片描述

六. 插件

插件:在某个时间点, 自动执行的处理程序(类似于vue的生命周期函数)

1 使用html-webpack-plugin插件

官方文档: https://www.webpackjs.com/plugins/html-webpack-plugin/

在这里插入图片描述

1) 安装

npm install -D html-webpack-plugin

2) 配置

在这里插入图片描述

3) 打包测试

在dist目录下, 生成了index.html, 并且自动引入了打包后的js文件

在这里插入图片描述

这时, 我们直接访问发现只有背景, 没有App的内容, 并且报了一个vue的错误

在这里插入图片描述

  1. 指定模板(解决上问题)

在这里插入图片描述

5) 小结

html-webpack-plugin的作用:

在打包结束时, 在dist目录下自动生成index.html文件, 并把打包好的js文件引入到html中

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-QkQ02nZn-1713202250570)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值