zoukankan      html  css  js  c++  java
  • 从零开始webpack4.x(七)图片处理及打包文件分类

    Webpack图片处理

    index.js
    --分析3三种图片引入方法

    前面2种方法对应 file-loader  url-loader

    html中需要html-withimg-loader

    // webpack 打包图片
    // 1. 在js创建图片引入
    import img from './naughty.jpeg';
    let image = new Image();
    image.width = 375;
    image.height = 500;
    image.src = img;
    document.body.appendChild(image);
    
    // 2. 在css 引入  babackground(url)
    // 3. <img src='' alt='' />

    webpack.config.js

    {
        test: /.(htm|html)$/i,
        loader: 'html-withimg-loader'
    },
    {
        test: /.(png|jpg|gif|jpeg)$/,
        // 做一个限制 如果图片 小于多少k 用base64转换 同时减少http请求 但图片会比原来大三分之一
        // 否则用file-loader产生真实的图片
        use: {
            loader: 'url-loader',
            options: {
                limit: 200*1024,
                esModule: false  // 4.2版本file-loader的时候是没事的,现在file-loader升级到5.0 需要加上
            }
        }
    }    

     打包文件分类

    webpack.config.js

    --css文件 image文件 js文件

    全局公共路径在output中添加 publicPath

    output: {
            filename: 'bundle.[hash:8].js',
            path: path.resolve(__dirname, 'dist'),
            // publicPath: ''  //  全局添加路径 公共路径
        },
        plugins: [webpack插件
            ...
            new MiniCssExtractPlugin({
                filename: 'css/main.css'   // 加上css目录
            })
        
        ],
    },
    module: { // 模块
            rules: [ 
                {
                    test: /.(png|jpg|gif|jpeg)$/,
                    use: {
                        loader: 'url-loader',
                        options: {
                            limit: 1,
                            outputPath: 'img/',      // 1. img文件夹下
                            // outputPath: '/img/', // 2. 加上cdn
                            // publicPath: 'https://www.baidu.com',  //  img 添加cdn加速 路径
                            esModule: false
                        }
                    }
                },
            ],
    ....
    }
  • 相关阅读:
    Window 命令
    HTTP 状态码
    Mysql基本用法-存储引擎-04
    Mysql基本用法-存储引擎-03
    Mysql基本用法-left join、right join、 inner join、子查询和join-02
    Mysql基本用法-01
    二进制编码-详细讲解
    JS操作文件
    PHP5接口技术入门
    PHP5中__get()、__set()方法
  • 原文地址:https://www.cnblogs.com/aisiqi-love/p/12659967.html
Copyright © 2011-2022 走看看