webpack配置基础[02] -webpack中的loader

2019-11-11  本文已影响0人  神楽花菜

loader简介

使用loader可以将浏览器暂时不支持的文件类型转化成浏览器支持的文件类型.它可以将TypeScript转化成ES5,将scss,less转化成css,将jsx,vue文件转化成js文件,并且还能对图片进行特殊的处理.

loader使用步骤

  1. 通过npm安装

2.在webpack.congfig.js中的modules关键字下进行配置.

例1:对css文件进行打包

const path = require('path')//导入node中的path包
module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname/*当前文件路径*/,'dist') , //进行路径拼接
    filename: 'boundle.js'
  },
  module:{
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader','css-loader' ]
      }
    ]
  }
}
//main.js
require('./css/background.css')

在配置时,webpack读取多个loader时是从右向左读取的,因此要想先加载css在应用样式需要将css-loader放在style-loader之后

例2:对图片的处理

由于图片加载需要文件路径,因此要安装url-loader和file-loader:

npm install --save -dev url-loader
npm install --save -dev file-loader

配置:

const path = require('path') //导入node中的path包
module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname /*当前文件路径*/ , 'dist'), //进行路径拼接
    filename: 'boundle.js',
    publicPath:"./dist/" //url相关的地址会连接这个字符串
  },
  module: {
    rules: [{
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      },
      {
        test: /\.(png|jpg|gif|jpeg)$/,
        use: [{
          loader: 'url-loader',
          options: {
            limit: 8192
            name:'img/[name].[hash:8].[ext]'//统一命名规范:名称.8位哈希随机.后缀名
          }
        }]
      }
    ]
  }
}

小于limit的图片会被转化成base64形式
大于limit的图片会在dist目录下生成一个图片,这个图片就是我们需要加载的,要使用这个图片需要在output对象中添加publicPath:"./dist/"属性.

上一篇下一篇

猜你喜欢

热点阅读