码迷,mamicode.com
首页 > Web开发 > 详细

webpack之url-loader

时间:2018-01-24 10:56:12      阅读:526      评论:0      收藏:0      [点我收藏+]

标签:index   blog   end   导出   entry   rom   jpeg   set   eset   

一.用file-loader编译不同后缀的图片

1.配置webpeck.config.js文件

const path = require(path);
const htmlWebpackPlugin = require(html-webpack-plugin);
module.exports={//node.js语法导出一个对象
    entry:./src/app.js,
    output:{
        path:path.resolve(__dirname,dist),//绝对路径
        filename:main.js,
    },
    plugins:[//生成html
        new htmlWebpackPlugin({
            filename:index.html,
            template:src/index.html
        })
    ],
    module:{
        rules:[{
                test:/\.js$/,
                use:[{
                    loader:babel-loader,
                    options:{
                        presets:[react]
                    }
                },]},
                {
                    test:/\.css$/,
                    use:[style-loader,css-loader]
                },
                {
                    test:/\.(jpg|png|gif|jpeg)$/,
                    use:[file-loader]
                },
        ]
    },
    devServer:{
        open:true,//自动打开服务器首页
        port:9000,
        inline:true,
    }
}

2.在app.js文件中引入

import  React    from  React;
import  ReactDOM from  react-dom;
import ./common/css/style.css;
import ./common/css/app.css;
import tu from  ./common/img/11.jpg;
const tu2 = require(./common/img/1.png);//全局方式引用
ReactDOM.render(
    <div className=rea>
        <img src={tu} alt=""/>
        <img src={tu2} />
    <img src={require(./common/img/1.png)} />//直接使用
    </div>,
    document.getElementById(cdd)
);

二、用url-loader编译不同后缀的文件

1.配置url-loader,url-loader会将引入的图片编码,生成dataURl,小于约20Kb的图片生成打他URL

 

const path = require(‘path‘);
const htmlWebpackPlugin = require(‘html-webpack-plugin‘);
module.exports={//node.js语法导出一个对象
    entry:‘./src/app.js‘,
    output:{
        path:path.resolve(__dirname,‘dist‘),//绝对路径
        filename:‘main.js‘,
    },
    plugins:[//生成html
        new htmlWebpackPlugin({
            filename:‘index.html‘,
            template:‘src/index.html‘
        })
    ],
    module:{
        rules:[{
                test:/\.js$/,
                use:[{
                    loader:‘babel-loader‘,
                    options:{
                        presets:[‘react‘]
                    }
                },]},
                {
                    test:/\.css$/,
                    use:[‘style-loader‘,‘css-loader‘]
                },
                {
                    test:/\.(jpg|png|gif|jpeg)$/,
                    use:[{
                        loader:‘url-loader‘,
                        options:{
                            limit:20000
                        }
                    }]
                },
        ]
    },
    devServer:{
        open:true,//自动打开服务器首页
        port:9000,
        inline:true,
    }
}

 

  2.引入图片

import  React    from  ‘React‘;
import  ReactDOM from  ‘react-dom‘;
import ‘./common/css/style.css‘;
import ‘./common/css/app.css‘;
import tu from  ‘./common/img/11.jpg‘;
import img2 from  ‘./common/img/2.jpg‘;
const tu2 = require(‘./common/img/1.png‘);
ReactDOM.render(
    <div className=‘rea‘>
        <img src={tu} />
        <img src={tu2} />
        <img src={img2}/>
    <img src={require(‘./common/img/1.png‘)} />
    </div>,
    document.getElementById(‘cdd‘)
);

  3. 运行 cnpm run dev,展示图片使用状况

技术分享图片

 

webpack之url-loader

标签:index   blog   end   导出   entry   rom   jpeg   set   eset   

原文地址:https://www.cnblogs.com/zxqblogrecord/p/8335683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!