webpack 基础理解[二]

业精于勤 荒于嬉

webpack 中 常用的 loader 

css 模块化:关键 modules:true

 rules: [{
                test: /\.css$/,
                //     loader: 'css-loader'
                //     // loader 的执行顺序是从后向前面
                //     //  webpack 遇到自己不认识的文件时 ,先去module找 ,定义的规则里面有没有对应的loader
                //     // css-loader 言简意赅 是把css 模块内容加入到 js 模块中区
                //     // style-loader 从js 中提取css 的 loader ,在html 中创建style 标签 
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.less$/,
                use: ['style-loader', {
                    loader: 'css-loader',
                    options: {
                        // 开启 css 模块化
                        // css modules 
                        modules: true
                    }
                }, 'less-loader'], // 将 Less 文件编译为 CSS 文件
            },
        ]
import css from './css/index.less'
console.log('index xixi')

let ele = `
css module
` document.write(ele)

file-loader:解析图片 可以设置打包后的图片名称 以及输出路径

            {
                test: /\.(png|jpe?g|jpeg|gif)$/, // 问号代表可有可无 ?可以同时匹配jpg 和 jpeg
                use: {
                    loader: 'file-loader',
                    options: {
                        name: "[name]_[hash:6].[ext]",
                        outputPath: 'images/'
                    }
                }
            }

postcss-loader ,autoprefixer ,先安装 再使用

const autoprefixer = require('autoprefixer')
module.exports = {
    plugins: [
        // require('autoprefixer')
        autoprefixer(
            // postcss 处理使用autoprefix 添加前缀的标准
            {
                //last 2 versions 最新的两个版本
                // 全球浏览器市场份额大于 1%
                overrideBrowserslist: ["last 2 versions", ">1%"]
            }
        )
    ]
}

file-loader 使用

{
                test: /\.(png|jpe?g|jpeg|gif)$/, // 问号代表可有可无 ?可以同时匹配jpg 和 jpeg
                use: {
                    loader: 'file-loader',
                    options: {
                        name: "[name]_[hash:6].[ext]",
                        outputPath: 'images/'
                    }
                }
            }

引入三方字体的使用也需要用到 file-loader 

url-loader 和 file-loader 是包含关系,安装了 file-loader ,直接使用url-loader 是可以的

url-loader把资源文件转换为URL,file-loader也是一样的功能。

不同之处在于url-loader更加灵活,它可以把小文件转换为base64格式的URL,从而减少网络请求次数。url-loader依赖file-loader。

在大多数情况下,使用url-loader准没错。

匆匆忙忙记录一下 ,迎接五一假期了。。。

积跬步 至千里

webpack 基础理解[二]_第1张图片

你可能感兴趣的:(vue,web,前端,node.js,javascript,vue.js)