Webpack核心(三)—— loader

 

官网 : https://www.webpackjs.com/concepts/loaders/

 

1.css-loader:

作用:读取css文件

安装:npm install css-loader -D

 

官网: https://www.webpackjs.com/loaders/css-loader/

注意:mini-css-extract-plugin 和 css-loader 位置不能有错,否则会报错

 

2.style-loader:

作用:把css-loader输出的css加载到页面里

安装:npm install style-loader -D (-D:--save-dev安装是在开发环境安装,--save -S 在线上环境配置)

 

官网: https://www.webpackjs.com/loaders

 

3.mini-css-extract-plugin.loader: (webpack4.3之上才能使用)

作用:提取css文件

安装:npm install mini-css-extract-plugin -D

参数:filename: 'css/index.css', //打包后将css文件放在css里面

 

GitHub插件地址:https://github.com/webpack-contrib/mini-css-extract-plugin

 

rm -r dist //删除包文件

npm run build //打包文件

 

npm run dev 运行

 

4.optimize-css-assets-webpack-plugin(插件)

作用:压缩css

安装:npm install optimize-css-assets-webpack-plugin -D

 

github: https://github.com/NMFR/optimize-css-assets-webpack-plugin

 

5.file-loader

作用:读取图片

安装:npm install file-loader -D

 

官网:https://www.webpackjs.com/loaders/file-loader/

webpack官网github插件:https://github.com/webpack-contrib

 

 module:{
       rules:[//对象
           //这里面放的就是一个个的loader,每一个loader要放在一个对象里,这里面的内容不能变,从后往前解析
           {
               test:/\.css$/,  //正则,找到以.css结束的文件
               use:[
                   //它的值是一个数组
                  // 'style-loadr', //给页面嵌入css标签
                  // MiniCssExtractPlugin.loader,  //提取css为单独的css文件
                   {
                       //loader是可以进行参数的配置的,如果需配置的话就必须放再一个对象当中
                       loader:MiniCssExtractPlugin.loader,
                       options:{
                        publicPath: '../',
                       }
                   },
                   'css-loader',
               ]
           },
           {
             test:/\.(jpg|png|gif)$/,
             use:[
                // 'file-loader',
                //在输出图片的时候,有个文件夹,所以就在loader进行配置
                {
                    loader:'file-loader',
                    options:{
                        outputPath: 'images', //s打包生成images文件夹
                    }
                }
             ]
           }
       ]
   }

 

 

6.url-loader

作用:把图片地址转成base64

安装:npm install url-loader -D

 

github: https://github.com/webpack-contrib/url-loader

module:{
       rules:[//对象
           //这里面放的就是一个个的loader,每一个loader要放在一个对象里,这里面的内容不能变,从后往前解析
           {
             test:/\.(jpg|png|gif)$/,
             use:[
                // 'file-loader',
                //在输出图片的时候,有个文件夹,所以就在loader进行配置
                // {
                //     loader:'file-loader',
                //     options:{
                //         outputPath: 'images',
                //     }
                // }
                {
                    loader: 'url-loader',
                    options: {
                      limit: 50*1024,  //50k 限制图片50k以下转base64
                    },
                }
             ]
           }
       ]
   }
//图片赖加载(预加载):当图片加载完之后再显示到页面中
index.js:
    import img1 from '../images/img_01.jpg';
    import img2 from '../images/img_02.jpg';
    
    const loadImg=img=>{
        const newImg = new Image();
        newImg.onload=()=>{
            document.body.appendChild(newImg);
        }
        newImg.src=img
    };
    loadImg(img1);
    loadImg(img2);
    
    //rm -r dist &&  npm run build

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值