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 相关文章推荐
JavaScript的面向对象(二)
Nov 09 Javascript
Javascript 圆角div的实现代码
Oct 15 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
Jan 23 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
小程序测试后台服务的方法(ngrok)
Mar 08 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 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 list()函数的详解
2013/06/05 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
vue实现简易的双向数据绑定
2020/12/29 Vue.js
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
销售会计工作职责
2013/12/02 职场文书
员工评语大全
2014/01/19 职场文书
经营理念标语
2014/06/21 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
事业单位年度考核评语
2014/12/31 职场文书
公司承诺书格式范文
2015/04/28 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
python实现进度条的多种实现
2021/04/29 Python
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android