webpack在内存生成html,webpack_开发阶段的基础配置、端口、热加载、在内存中生成html页面的插件、样式图片字体加载器、babel;上线阶段(生产环境)的配置...

本文深入讲解了Webpack作为前端项目的构建工具,如何通过合并、压缩和编码优化减少请求,配置入口出口、自动打包及处理非JS文件。此外,还介绍了Babel处理ES6高级语法和Webpack在生产环境的部署优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、webpack---是一个前端项目构建工具,是基于nodejs开发的,前端工具

1、产生背景---合并(减少二次请求,提高网页加载速度)、压缩(节省带宽,节约用户流量)

9d4ed4a7f6301861b49efcb06d6de122.png

d5f5adbbcb02169e98f700314163a507.png

94c43ae3a97c0a4fe41eabd03f71a2d6.png

9fef3bc237cb5ae2a4c8b13610085c24.png

base64位编码的好处:编码过后的字符串,这样图片就会随着html代码结构一起下载到客户端,这样第一次请求就能加载到这个图片了而不需要用src属性单独指服务器的一个资源,这样就又是一个请求了(并不是所以的图片都适合,一般是适合小图片)

2、webpack的基本使用

安装:

8b0f3ec9c8ac4403ddede442f5160141.png

使用:通过一个小案例体验webpack前端构建工具的基本使用和作用(好处)

(打包)减少二次请求,解决包于包之间复杂的依赖关系

9463e683a6d727e2ceab86311c64e423.png

b029dfc3eb8f151821bfde293a40277e.png

63acf70fee721fbbfd930dd7f43b02b2.png

58306daac0701a9c18b59788df47a8a8.png

30dce13abd32a26e5fc5b923c1eabacf.png

为了避免每次修改main.js之后都要重新用命名行语句再打包,把新修改的样式生效,所以我们可以自己配置一下文件的入口和出口目录

08e02d1fd4f629b9f251b851ff7a2277.png

3、每次修改代码后都要在命名行输入webpack  打包编译后刷新界面才能看到最新的修改,这样还是很麻烦,所以要借助新的工具实现自动打包编译的功能

f57937511f3b89b3a0d6a8220ea9d982.png

d1416e984a7271ebd45987fb92ca045e.png

d3f3a56b886483ab4fadaf14ac1e2b2b.png

522a8a1be57b04f3bf674fc761b832e6.png

92b2ddfaa8a0573069cb11e9999fa3a5.png

d454745a8d0247d1ad5da1401dee5be6.png

c118b2c1ccac293ca32b508188c612c2.png

ac087fd3ab4ee5e154c521ce9e884a9f.png

4、因为webpack默认只能打包处理js类型的文件,无法处理其他非js类型的文件,如果要处理非js类型的文件(如样式文件)我们需要手动安装一些第3方的loader加载器,装包后再配置

060f510b706966a089a3e40f248c18f3.png

dc33fda0088b42605aaab2e37101f050.png

b9d6f8980feeae0a82285a8289029dc4.png

cf3b7dd9c603715630668135445cfb29.png

351e4a5f6269385b9f351d25ed550d25.png

1e1251f4b97d7d92f977e96b047ad9d1.png

5、webpack默认无法处理文件中的url地址,不管是图片还是字体库----所以我们又要装第3方loader

de834eccb47f72abc052f272be45ae80.png

368a2ce551606ea9483a574d154b3946.png

945cfee4ee304b55fd739cb72fa0b12b.png

1275d0059294e436038aef69babe9e9a.png

0788b725ae01aa82bb05c81a4a7f42fc.png

19e9a935b608bd66024fd88addc18f65.png

6、webpack默认只能处理一部分es6语法,如import可以但是类不可以,那这时候就又要借助第3方的loader了---Babel(是一个第3方的js编译器)

配置babel来处理些高级的js语法

4f0d3d3a4c340f43b1361e2f8641a1a4.png

17061e852d6000d5fcd13d7626852827.png

1d67c70a4d2d812c77aa2c9e2073372e.png

8de73334dcc750fe4daf2b5e3cdddd5b.png

总结:

1、npm init  创建包管理文件   package.json

2、创建项目目录文件夹---存放源代码

3、dist文件夹---存放项目打包输出之后的文件(不一定要提前建好,打包的时候发现没有的话也会帮我们自动创建的)

4、可以用webpack命令行测试打包是否可以用了,测试好后再安装下 webpack-dev-server包进行实时打包  ,再创建webpack配置文件webapck.config.js  ,在里面配置下需要配置的入口、出口文件,热加载、loader等

5、装html-webpack-plugin可以帮助我们在内存中生成一个html文件,和自己创建的html内容一模一样,并且生成的html还帮我们引入了bundle.js,所以我们自己的html中不用再引入bundle.js了

6、。。。。。。

--------

webpack  生产环境(上线阶段) 的配置

可以新建一个webpack.pub.config.js  文件

然后把webapck.config.js文件中内容复制过来,然后在这个配置基础上修改配置项

配置 js css  iamge  分离,压缩js  压缩html  等。。。。

最后执行 npm run pub 打包出dist上线版文件夹

37ac94af6df34da7de0475b0b3122ecc.png

------其实这个上线版本的优化,vue-cli的npm run build  已经做了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值