webpack css加载和图片加载的方法示例


Posted in Javascript onSeptember 11, 2018

css加载器

在webpack中,所有的资源(js文件、css文件、模板文件,图片文件等等)都被看成是一个模块,因此多有的资源都是可以被加载的。

加载这些资源我们要在module属性定义这些加载配置(指定加载器)。

在module属性中,通过定义loaders定义加载器,其属性值是一个数组,每一个成员代表一个配置。

  • 通过test定义匹配的规则(正则表达式)
  • 通过loader定义加载器,可以通过!级联多个加载器

加载css是要两个加载器,一个是style-loader,一个是css-loader样式文件默认加载到head里面。

我们来看一个小例子

|__static 
  |__css 
    |__app.css 
  |__app.js 
|__ index.html 
|__webpack.config.js

app.css

h1{
  background:red;
  width:100px;
  height:100px;
  color:blue;
}

app.js

require('./css/app.css')
document.write('<h1>hello connie</h1>')

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script type="text/javascript" src="dest/dest.js"></script>
</body>
</html>

webpack.config.js

module.exports = {
  entry:'./static/app.js',
  output:{
    filename:'dest/dest.js'
  },
  module:{
    loaders:[
      {
        // 配置正则表达式,查找后缀为.css文件
        test:/\.css$/,
        // 配置加载器,用!符号级联
        loader:'style-loader!css-loader'
      }
    ]
  }
}

注意:test参数是正则表达式,不需要加引号,如果写成test:“/.css$/”会报错!!!

图片加载器

在webpack,图片资源也可以被看成是一个模块,因此也可以用require去加载它们。

但是加载这些图片,我们需要图片加载器,图片加载器叫url-loader

图片加载比较特殊,有两种加载方式

  • 内嵌式:将图片嵌入文件内部(图片将转换成base64格式)
  • 外链式,将图片作为一个资源嵌入(通过图片路径引入)

在webpack中,我们可以在url-loader中定义个limit参数,来决定采取哪种方式引入。

  • 语法 url-loader?limit=2048
  • ?是用来定义加载器的参数配置的
  • Limit表示图片大小限制
  • 2048单位是b,所以2048表示2Kb

这句话的意思是,当图片小于2KB的时候,我们采取内嵌式加载图片

当图片大于2kb的时候我们采取外链式。

app.css

div{
  height: 200px;
  width: 200px;
}

.test1{
  background-image: url("./images/test1.png");
}

.test2{
  background-image: url("./images/test2.jpg");
}

.test3{
  background-image: url("./images/test3.png");
}

webpack.config.js

module.exports = {
  entry: './static/app.js',
  output: {
    filename: 'dest/dest.js'
  },
  module: {
    loaders:[
      {
        // 图片加载器
        test:/\.(png|jpg|gif|jpeg)$/,
        loader:'url-loader?limit=2048'
      },
      {
        test:/\.css$/,
        loader:'style-loader!css-loader'
      }
    ]
  }
}

图片加载需要安装url-loader和file-loader

npm install url-loader
npm install file-loader

再次查看dest.js

webpack css加载和图片加载的方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js字符编码函数区别分析
Jun 05 Javascript
Jquery 弹出层插件实现代码
Oct 24 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
Jul 01 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
Jan 05 Javascript
Vue隐藏显示、只读实例代码
Jul 18 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 #Javascript
webpack的CSS加载器的使用
Sep 11 #Javascript
JavaScript基础教程之如何实现一个简单的promise
Sep 11 #Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 #Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 #Javascript
Angular6 正则表达式允许输入部分中文字符
Sep 10 #Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
Sep 10 #Javascript
You might like
PHP 超链接 抓取实现代码
2009/06/29 PHP
如何判断php数组的维度
2013/06/10 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
2016/12/08 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
轻松实现python搭建微信公众平台
2016/02/16 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
python 文件查找及内容匹配方法
2018/10/25 Python
python从子线程中获得返回值的方法
2019/01/30 Python
wxPython色环电阻计算器
2019/11/18 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
Python列表推导式实现代码实例
2020/09/09 Python
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
详解python的内存分配机制
2021/05/10 Python
python实现自动清理文件夹旧文件
2021/05/10 Python