最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • (webpack篇)2.webpack中loader

    正文概述 掘金(秃头工程师)   2021-02-18   565

    概念:loader是一种打包方案,用来处理多种文件格式机制,如css代码,图片,模板代码等

    一、案例使用之file-loader

    • 1.安装 npm install file-loader -D
    • 2.配置 webpack.config.js
    module.exports = {
        ...
        module: {
            rules: [{
                test: /\.jpg$/,
                use: {
                    loader: 'file-loader'
                }
            }]
        },
        ...
    }
    
    • 3.项目src文件夹下添加avatar.jpg图片

    (webpack篇)2.webpack中loader

    • 4.代码src/index.js中引入图片
    import avatar from './avatar.jpg';
    var img = new Image();
    img.src = avatar;
    var root = document.getElementById('root');
    root.appendChild(img);
    
    • 5.执行打包命令&打包效果

    命令 npm run build
    (webpack篇)2.webpack中loader
    (webpack篇)2.webpack中loader

    • 6.file-loader配置介绍

    1).设置多种文件格式 PS:支持多种文件格式

    module: {
        rules: [{
            test: /\.(png|jpe?g|gif)$/i,
            use: {
                loader: 'file-loader'
            }
        }]
    },
    

    2).设置打包文件名&图片打包的目录

    module: {
        rules: [{
            test: /\.(png|jpe?g|gif)$/i,
            use: {
                loader: 'file-loader',
                options: {
                    // 占位符
                    name: '[name]_[hash].[ext]',
                    outputPath: 'images/' // 图片打包的目录
                }
            }
        }]
    }
    

    3).打包结果 (webpack篇)2.webpack中loader

    PS:更多配置查看:webpack.docschina.org/loaders/fil…

    二、案例使用之url-loader

    • 1.安装 npm install url-loader -D
    • 2.说明:url-loaderfile-loader相比多了一个limit配置项,在超过limit的时候执行和file-loader功能一样,当小于limit时会将文件打包成base64到js中
    • 3.在webpack.config.js
    module: {
        rules: [{
            test: /\.(png|jpe?g|gif)$/i,
            use: {
                loader: 'url-loader',
                options: {
                    // 占位符
                    name: '[name]_[hash].[ext]',
                    outputPath: 'images/', // 图片打包的目录
                    limit: 204800   // 设置文件大小超过这个值的转为base64 否则打包成图片
                }
            }
        }]
    }
    
    • 4.打包结果

    (webpack篇)2.webpack中loader

    三、案例使用之样式静态资源打包-css

    说明:webpack打包默认只识别.js的文件,当我们遇到.css文件时,我们可以使用loader来完成

    • 1.安装style-loader&css-loader

    npm install style-loader css-loader -D

    • 2.webpack.config.js中进行配置
    const path = require('path')
    module.exports = {
        ...
        module: {
            rules: [
            ...
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            }]
        }
        ...
    }
    
    • 3.在src目录下创建index.css写入样式
    .avatar {
        width: 150px;
        height: 150px;
    }
    
    • 4.在src/index.js中引入index.css&img标签上使用该样式
    import avatar from './avatar.jpg';
    import './index.css';
    
    var img = new Image();
    img.src = avatar;
    img.classList.add('avatar');
    var root = document.getElementById('root');
    root.appendChild(img);
    
    • 5.打包之后效果展示

    (webpack篇)2.webpack中loader
    (webpack篇)2.webpack中loader

    四、案例使用之样式静态资源打包-scss

    • 1.安装sass-loader&node-sass

    npm install sass-loader node-sass -D

    • 2.修改webpack.config.js中配置css的为scss
    const path = require('path')
    module.exports = {
        ...
        module: {
            rules: [
            ...
            {
                test: /\.scss$/,
                use: ['style-loader', 'css-loader', 'sass-loader']
            }]
        }
        ...
    }
    

    PS:将后缀改为scss&添加了sass-loader,这里只添加sass-loader

    • 3.将src/index.js中引入css改为scss

    • 4.将src/index.css改为src/index.scss&内容改为

    body {
        .avatar {
            width: 200px;
            height: 200px;
        }
    }
    
    • 5.效果图

    (webpack篇)2.webpack中loader
    (webpack篇)2.webpack中loader

    五、css-loader中常用配置项

    未完待续...


    起源地下载网 » (webpack篇)2.webpack中loader

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元