1. 前言

webpack是不能直接处理 css 、less、图片等资源的,需要使用对应的 loader ,有关loader的介绍请查看这篇博客 webpack中的loader


2. 打包css文件

目录结构(本案例的演示代码在页面底部有下载链接)

(1)项目开发过程中,我们必然需要添加很多的样式,而样式我们往往写到一个单独的文件中。在src目录中,创建一个css文件夹,其中创建一个normal.css文件。

body {/*normal.css中的代码非常简单,就是将body设置为blue*/background-color: blue;
}

但是,这个时候normal.css中的样式会生效吗?

  • 不会。因为我们就没有引用它。
  • webpack也不可能找到它,因为我们只有一个入口,而webpack会从入口开始查找其他依赖的文件。

打包的时候,只有打包入口文件依赖的文件才会进行打包。如果依赖的文件又依赖了其他的文件,webpack会自动处理。如果创建了一个新的文件,比如css文件,但是并没有任何其它文件依赖新创建的文件,那么这个文件不会被打包进去。

(2)接下来我们在 mian.js 入口文件导入 normal.css 文件

// 依赖css文件,css文件也可以被当做一个模块来处理。
// 由于我们只要依赖css文件就可以了,并不需要用一个变量来接收
require('./css/normal.css')

重新进行打包,发现报错了,提示我们需要安装一个合适的loader:


(3)查阅 webpack 官网 https://www.webpackjs.com/loaders/css-loader/,发现我们需要安装 css-loaderstyle-loader ,使用命令 npm install --save-dev xxx (xxx替换为对应loader的名字)

然后需要在 webpack.config.js 文件中进行一些配置

let path = require('path');module.exports = {entry: './src/main.js',              //打包入口output: {                            //出口path: path.join(__dirname,'dist'),filename: 'bundle.js'},module:{rules:[{test:/\.css$/,// css-loader只负责将css文件进行加载// style-loader负责将样式添加到DOM中,要放在css-loader的前面// webpack在使用多个loader时,是按照从右向左(或者说从下到上)的顺序使用use:['style-loader','css-loader']}]}
}

接下来重新打包,发现打包成功,dist 文件夹下就多了一个 bundle.js 文件,我们只需要在 html 文件中引入这个 bundle.js 文件即可。


3. 打包less文件

(1)先创建一个special.less文件,依然放在css文件夹中

@fontSize:50px;
@fontColor:orange;body {font-size:@fontSize;color: @fontColor;
}

(2)在入口文件main.js文件中引入

require('./css/special.less')

(3)查阅官网 https://www.webpackjs.com/loaders/less-loader/ 打包less文件需要安装对应的loader,less-loader

npm install --save-dev less-loader less

(4)修改 webpack.config.js 配置文件,加入对应的 less-loader 的配置

module:{rules:[{test:/\.css$/,use:['style-loader','css-loader']},{test: /\.less$/,use: [{loader: "style-loader" // creates style nodes from JS strings}, {loader: "css-loader" // translates CSS into CommonJS}, {loader: "less-loader" // compiles Less to CSS}]}]}

4. 资料

  • 本博客的演示代码下载链接 https://webchang.lanzous.com/i6bFtkflaef 密码:2h4i
  • webpack中文网 - loader
  • 博客 webpack中的loader的介绍
  • 提示:在使用webpack的loader的过程中可能会遇到版本的问题,要注意一下,可以看这篇博客 https://blog.csdn.net/weixin_43974265/article/details/112667927

前端学习交流QQ群,群内学习讨论的氛围很好,大佬云集,期待您的加入:862748629 点击加入

webpack打包css和less文件相关推荐

  1. 使用webpack打包ThinkPHP的资源文件

    使用webpack打包ThinkPHP的资源文件 利用自己的空余时间一直在维护http://www.wx2share.com这个小网站,全是一个人在弄,由于只租得起虚拟空间,所以后台采用了简单方便的T ...

  2. webpack打包css image,webpack 打包CSS 引入图片

    加载css 安装style-loader, css-loader npm install style-loader css-loader --save-dev 配置webpack.config.js文 ...

  3. webpack打包css

    webpack打包 1.打包css 2.打包逻辑 1-1.webpack打包css逻辑 3.打包css 4.打包成独立的css文件 5.添加样式前缀 6.格式校验 7.压缩css 8.我们为什么要用这 ...

  4. webpack打包原理和manifest文件分析

    打包工具要解决的问题: 文件依赖管理 梳理文件之间的依赖关系 资源加载管理 处理文件的加载顺序(先后时机)和文件的加载数量(合并.嵌入.拆分) 效率与优化管理 提高开发效率,完成页面优化 webpac ...

  5. nginx禁止浏览器直接打开webpack打包后的js文件

    应公司安全测试要求,webpack打包后的js文件不能直接在浏览器打开. 解决方法:通过nginx配置文件过滤,跳转到403页面,代码如下: location / {set $flag 0;if ($ ...

  6. webpack打包css文件

    CSS打包 安装style-loader和 css-loader Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. Loader ...

  7. Webpack打包css文件-css-loader+style-loader

    一,前言 之前"webpack介绍"一篇中提到webpack的四个核心概念:entry-入口,output-出口,loader-加载器,plugins-插件前面打包和输出文件使用了 ...

  8. webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置

    目录 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map HMR ❝ 概念:「HMR:」 hot module replacement ...

  9. webpack打包生成的map文件_一站式搞明白webpack中的代码分割

    上次分析到通过devtool的配置项来设置source map,在线上环境可以通过设置成cheap-module-source-map来生成单独的map文件,但是map文件在线上环境会不会每次都加载呢 ...

最新文章

  1. Java Ajax: DWR
  2. 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转...
  3. HIVE入门之数据模型
  4. 新闻网大数据实时分析可视化系统项目——7、Kafka分布式集群部署
  5. vs2008使用技巧
  6. 苹果iOS13将推出 这些经典手机将会被“淘汰”
  7. angular学习的一些Mark
  8. vue element-ui NavMenu错位问题
  9. 最新仿金蝶电商ERP进销存系统软件源码 销售库存仓库财务管理收银系统网络版
  10. DA14580蓝牙硬件系统总览(二)
  11. 码教授|面试官:你还有什么要问我的吗?
  12. 坚果pro2官方rom_坚果 pro2线刷包_坚果 pro2刷机包_坚果 pro2固件包_坚果 pro2救砖包 - 线刷宝ROM中心...
  13. 【产品】 产品设计:ID工业设计、MD结构设计、HW硬件设计和SW软件设计详解
  14. 用java完成身高预测
  15. 每一个赞扬背后都有一两个“慕名而来”,而每一个抱怨背后都有100个“弃你而去”。
  16. 荆楚计算机专业分数线理工,荆楚理工学院分数线
  17. python多图片合并pdf_Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
  18. php百度云5秒盾,cloudflare如何自定义5秒盾页面教程
  19. 文科生可报考那些计算机学校,文科生/600分以上可以报考哪些学校?
  20. 这么简单,抄抄,改改就行啦

热门文章

  1. 云从科技冲刺IPO:加码人机协同,加速产业落地,预计2025年盈利
  2. Chrome浏览器读取蓝牙设备数据
  3. 组合导航-星网宇达M2 配置
  4. NVIDIA GPU Display Driver 越界写入漏洞(CVE-2022-28181)
  5. 【先楫HPM6750测评】RT-Thread开发环境搭建和Hello World
  6. 非技术文章,今天很凄凉
  7. perl-编译方法(转)
  8. 北理 嵩天老师 Python程序设计 课后作业易错题总结
  9. 解决前端ios设备嵌套的H5页面,点击后退按钮,页面存在缓存,不刷新
  10. ICME 2023 | PACC: RTC 下基于用户感知的拥塞控制