前端---【一文看懂webpack打包文件CSS文件,WebPack打包CSS详细操作流程】

目录

一. Webpake打包CSS完整流程

1.1第一步编写HTML和CSS结构的代码

1.1.1创建一个html的文件结构

1.1.2创建一个CSS文件结果的样式

1.1.3创建main.js结构文件

1.2第二步:在 webpack 配置文件中添加如下规则:

1.3第三步:安装 less 和 less-loader:

1.3.1npm i less less-loader -D 解释

1.4第四步 运行打包命令

二.打包文件报错

2.1解决报错

三.打包成功终端详细解释


前言:我们的问题:webpack本身只能打包 JS 文件和 JSON 文件, 不能打包CSS文件.

将要解决:利用css-loader & style-loader 对CSS进行打包处理.

一. Webpake打包CSS完整流程

我们如何让html中的less.css样式文件生效.要在 HTML 文件中使用 LESS 样式,需要先在 webpack 中配置相应的 loader。

1.1第一步编写HTML和CSS结构的代码

1.1.1创建一个html的文件结构

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8" />
    <title>index</title>
</head>

<body>
    <div>轮播图</div>
    <div>tabs标签页</div>
</body>
<script src="../build/js/bundle.js"></script>


</html>

1.1.2创建一个CSS文件结果的样式

我这里按照这么目录结构写的src/css/app.css样式      

header {
  height: 100px;
  background-color: palevioletred;
  display: flex;
}

1.1.3创建main.js结构文件

//导入CSS资源
import './css/app.css';

//导入Less文件
import './less/app.less';

//编写 ES 新语法
let fn = () => {
  console.log('fn fn fn');
};
fn();

//全局变量
//在main.js里面终端打开 打包
//ES6这个包 在检查的时候axios

1.2第二步:在 webpack 配置文件中添加如下规则:

以我这为例子,打包工具是根目录,在根目录下面创建配置文件,配置文件名字webpack.config.js

红线这里解释了style-loader 作用: 将 CommonJS 模块生成一个 style 标签插入到最终的文档中

css-loader 作用: 将 css 资源转为 CommonJS 的 JS 模块,是先执行 css-loader 再执行 style-loader

 配置文件代码如下

1.3第三步:安装 less 和 less-loader

打开根目录的终端输入 npm i less less-loader -D

1.3.1npm i less less-loader -D 解释

是一个安装 less 和 less-loader 的命令,其中 -D 参数表示将它们作为开发依赖项安装。执行该命令后,less 和 less-loader 将被安装到项目的 node_modules 目录下,并在 package.json 文件的 devDependencies 中添加相应的依赖项

 终端输出结果这里表示安装过程已经完成,并且添加了 18 个新的依赖包,总共花费了 15 秒的时间。在这种情况下,npm 将会把这些依赖包安装到项目的 node_modules 目录中,并在 package.json 文件的 devDependencies 或 dependencies 中添加相应的依赖项。

1.4第四步 运行打包命令

在项目根目录运行打包命令npx webpack  底下显示打包成功

二.打包文件报错

 [webpack-cli] Failed to load 'C:\Users\81420\Desktop\mycode\JS-myself\打包工具\webpack.config.js' config
[webpack-cli] Error: Cannot find module 'eslint-webpack-plugin'
Require stack:
- C:\Users\81420\Desktop\mycode\JS-myself\打包工具\webpack.config.js
- C:\Users\81420\Desktop\mycode\JS-myself\打包工具\node_modules\webpack-cli\lib\webpack-cli.js
- C:\Users\81420\Desktop\

报错图

2.1解决报错

这个错误提示显示 webpack-cli 找不到 eslint-webpack-plugin 模块,导致在加载 webpack 配置文件 webpack.config.js 时失败了。这可能是因为 eslint-webpack-plugin 模块未安装或安装不完整导致的。

可以尝试执行以下命令:

npm install eslint-webpack-plugin --save-dev

终端执行

 继续npx webpack 打包

三.打包成功终端详细解释

这里是的终端显示出来的打包细节

 解读打包

这是在命令行中执行 npx webpack 后输出的一些构建信息。具体来说:

  • asset js/bundle.js 31.3 KiB [emitted] (name: main): 表示生成了名为 main 的 JS 文件,大小为 31.3 KiB,输出到 js/bundle.js 文件中。
  • asset index.html 411 bytes [emitted]: 表示生成了 HTML 文件,大小为 411 bytes,输出到 index.html 文件中。
  • runtime modules 972 bytes 5 modules: 表示生成了 5 个运行时模块,大小为 972 bytes。
  • cacheable modules 11.8 KiB: 表示生成了 11.8 KiB 可缓存的模块。
  • modules by path ./node_modules/ 8.15 KiB: 表示从 ./node_modules/ 目录中加载了 8.15 KiB 的模块。
  • modules by path ./node_modules/style-loader/dist/runtime/*.js 5.84 KiB 6 modules: 表示从 ./node_modules/style-loader/dist/runtime/*.js 目录中加载了 6 个模块,大小为 5.84 KiB。
  • modules by path ./node_modules/css-loader/dist/runtime/*.js 2.31 KiB: 表示从 ./node_modules/css-loader/dist/runtime/*.js 目录中加载了 1 个模块,大小为 2.31 KiB。
  • ./src/main.js 264 bytes [built] [code generated]: 表示编译了 ./src/main.js 文件,大小为 264 bytes。
  • modules by path ./src/css/*.css 1.65 KiB 2 modules: 表示从 ./src/css/*.css 目录中加载了 2 个模块,大小为 1.65 KiB。
  • modules by path ./src/less/*.less 1.74 KiB: 表示从 ./src/less/*.less 目录中加载了 1 个模块,大小为 1.74 KiB。
  • ./src/less/app.less 1.22 KiB [built] [code generated]: 表示编译了 ./src/less/app.less 文件,大小为 1.22 KiB。
  • ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js!./src/less/app.less 531 bytes [built] [code generated]: 表示使用了 css-loader 和 less-loader 对 ./src/less/app.less 文件进行了转换,大小为 531 bytes。
  • webpack 5.80.0 compiled successfully in 21104 ms: 表示 webpack 构建成功,耗时 21104 毫秒。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack的基础原理是将项目中所有的模块都视为一个依赖关系图,然后根据入口文件进行递归分析,将所有的依赖模块打包成一个或多个打包后的文件Webpack打包过程主要包括以下几个步骤: 1. 解析模块:Webpack会解析所有的模块,包括模块的依赖关系、模块类型等。 2. 执行loader:Webpack会根据模块的类型执行相应的loader,将模块转换成一个可执行的JavaScript代码。 3. 分析依赖:Webpack会分析每个模块的依赖关系,确定模块的依赖关系图。 4. 打包模块:Webpack会将所有的模块打包成一个或多个文件,同时生成打包后的代码和资源文件打包后的文件解读: Webpack打包后的文件主要包括两个部分:运行时代码和打包后的模块代码。 运行时代码是Webpack在运行时需要的一些代码,例如模块加载函数、模块缓存等等。 打包后的模块代码是Webpack根据依赖关系图打包后的模块代码,这些代码可能被压缩、合并、优化等处理过。每个模块都被包装在一个函数中,这个函数可以接受其他模块作为参数,同时也可以导出自己的API供其他模块使用。打包后的模块代码的顺序和结构都是由Webpack根据依赖关系图自动决定的。 总之,Webpack打包后的文件是一个可执行的JavaScript文件,包含了项目中所有的模块和资源,并且可以在浏览器或Node.js环境中运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值