webpack打包原理

output 属性告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。基本上,整个应用程序结构,都会被编译到你指定的输出路径的文件夹中。你可以通过在配置中指定一个 output 字段,来配置这些处理过程:

webpack.config.js

在这里插入图片描述

loader


loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。

高层面,在 webpack 的配置中 loader 有两个目标:

  • test 属性,用于标识出应该被对应的 loader 进行转换的某个或某些文件。

  • use 属性,表示进行转换时,应该使用哪个 loader。

webpack.config.js

在这里插入图片描述


二.最简单的打包

=====================================================================

  1. 打包命令使用 webpack

npm install -D webpack

  1. 修改创建好的webpack.config.js

mode: “development”, // 配置打包模式为 开发模式

  1. 修改 package.json 文件添加生产环境的打包命令

在这里插入图片描述

  1. 将 js 代码打包到 bundle.js 中,而不是html 文件中

在这里插入图片描述

3.执行以dev为名的命令、

npm run dev


三.自动打包

===================================================================

  • 安装

npm i -D webpack-dev-sever

  • 修改配置

在这里插入图片描述

  • 执行

npm run dev

  • webpack-dev-server: 会开启一个服务,默认地址时localhost:8080 端口
默认打开index.html ,如果没有则将显示所有的目录
  • 拷贝一份index.html文件,修改index.js 文件,则8080端口浏览器随时生成样式

在这里插入图片描述

当代码执行到这里时,虽然可以自动打包了,但是有一个缺陷,那就是localhost:8080 对应的是网站根目录,index.html 在 src 目录下,访问起来比较麻烦

  1. 执行命令继续安装另一个一个插件

npm i -D html-webpack-plugin

  1. 在webpackconfig.js 中添加代码

在这里插入图片描述

  1. 执行

重新运行: npm run dev

再次访问:http://localhost:8080/,就会运行index.html

但是跟目录下并没有 index.html ,因为其仍然创建在内存中

版本问题的话还需执行: npm i loader-utils -D 命令 。这样就会实现修改js和html内容,在8080端口浏览器实现实时生成样式啦

小结:

webpack-dev-server :

  1. 当代码修改后会自动重新打包,同时在内存生成一个bundle.js 而不用重复dist目录下的bundle.js
  1. 访问 bundle.js 的路径为:loalhost:8080/bundle.js

html-webpack-plugin:

  1. 根据配置,将某个路径下的html文件自动拷贝到项目的某个目录下面。(比如:根目录)

四.加载器(css,less,url,高级语法)

=====================================================================================

webpack 默认只能打包 .js 文件,其他静态文件,如 .css,图片等默认不能处理,如果不加载对应的加载器,则会报错

在这里插入图片描述

1.css加载器


src 目录下新建 css 目录,新建 index.cs

  • 编写样式:

  • {

margin: 0;

padding: 0;

}

ul li {

font-size:20px;

}

  • 执行

npm install -D css-loader style-loader

  • index.js 中写 ‘./css/index.css’

在这里插入图片描述

  • 配置 webpack.config.js

在这里插入图片描述

2. less加载器


  • 执行

npm install -D less-loader less

  • index.js 中写 ‘./css/a.less’

在这里插入图片描述

  • 修改

在这里插入图片描述

3. url加载器


  • 执行

npm install -D url-loader

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

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

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
86)]

[外链图片转存中…(img-KjA3V1cL-1715708889587)]

[外链图片转存中…(img-whIDdtZb-1715708889587)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值