webpack处理url资源的配置

webpack处理url资源的配置

1.安装 npm i url-loader -D

2.修改webpack.config.js

const path = require('path');
// 启用热更新的 第2步
const webpack = require('webpack')
//导入html插件
//只要是插件,都一定要放到plugins节点中去
const htmlWebpackPlugin = require('html-webpack-plugin')
// 这个配置文件,起始就是一个 JS 文件,通过 Node 中的模块操作,向外暴露了一个 配置对象
module.exports = {
    entry: path.join(__dirname, './src/main.js'),// 入口,表示,要使用 webpack 打包哪个文件
    output: { // 输出文件相关的配置
        path: path.join(__dirname, './dist'), // 指定 打包好的文件,输出到哪个目录中去
        filename: 'bundle.js' // 这是指定 输出的文件的名称
    },
    //配置dev-server第二种形式
    devServer: {
        open: true,//自动打开浏览器
        port:3000,//启动时候的端口
        contentBase:'src',//指定托管的根目录
        hot:true //启用热更新
    },
    plugins:[
        //第三步
        new webpack.HotModuleReplacementPlugin(), //new一个热更新的模块
        new htmlWebpackPlugin({//创建一个在内存中生成html页面插件

            template:path.join(__dirname,'./src/index.html'),
            filename:'index.html'               //指定生成页面的名称

        })
    ],
    module:{//这个是第三方的加载器
        rules:[//正则的文件匹配规则
            {test:/\.css$/,use:['style-loader','css-loader']},
            { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }, //配置处理 .less 文件的第三方 loader 规则
            { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }, // 配置处理 .scss 文件的 第三方 loader 规则
            // 规则 limit给定的是图片的大小 如果我们给定图片的大小大于等于我们给定的limit 则不会被转为base64编码
            //反之会被转换name=[hash:8]-[name].[ext] 前面加hash值区分图片 名字原样输出
            { test: /\.(jpg|png|gif|bmp|jpeg)$/, use: 'url-loader?limit=1000&name=[hash:8]-[name].[ext]' } // 配置图片路径loader
        ]
    }

}

3.index.css

.box{
    width: 200px;
    height: 120px;
    /*默认情况下,无法处理url地址,无论是图片还是字体库*/
    background:url("../images/beijing.jpg");
    background-size:cover ;
}
posted @ 2018-11-11 11:50  城南少年与猫  阅读(1572)  评论(0编辑  收藏  举报