时间:2021-07-01 10:21:17 帮助过:5人阅读
css加载器
在webpack中,所有的资源(js文件、css文件、模板文件,图片文件等等)都被看成是一个模块,因此多有的资源都是可以被加载的。
加载这些资源我们要在module属性定义这些加载配置(指定加载器)。 
在module属性中,通过定义loaders定义加载器,其属性值是一个数组,每一个成员代表一个配置。
加载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 
图片加载比较特殊,有两种加载方式
在webpack中,我们可以在url-loader中定义个limit参数,来决定采取哪种方式引入。
这句话的意思是,当图片小于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 

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