样式的打包

  • 普通css样式的引入
    style-loader和css-loader存在先后顺序,webpack会先执行use数组中,后面的元素。
    css-loader会将分析所有的css文件关系,并且整合为一个css文件
    style-loader负责将css内容挂在到style-loader
   module: {
        rules: [{
            test: /\.css$/,
            use: [
                'style-loader',
                'css-loader'
            ]
        }]
    }
  • scss文件的打包
    sass-loader的作用:将sass代码转化为css代码
 module: {
        rules: [
        {
            test: /\.scss$/,
            use: [
                'style-loader',
                'css-loader',
                'sass-loader'
            ]
        }]
    }
  • 自动添加厂商前缀 postcss-loader配合autoprefixer
//webpack.config.js
module: {
        rules: [{
            test: /\.scss$/,
            use: [
                'style-loader',
                {
                    loader:'css-loader',
                    options: {
                        importLoaders: 2,
                        modules: true
                    }
                },
                'sass-loader',
                'postcss-loader'  // 预处理
            ]
        }]
    }
// postcss.config.js
module.exports = {
    plugins: [
        require('autoprefixer')
    ]
}

踩坑:webpack4.0后一定要写明浏览器支持列表
解决办法:在package.json中与devDependencies中添加浏览器支持列表,也可以写在独立文件中

"browserslist": [
    "defaults",
    "not ie <= 8",
    "last 2 versions",
    "> 1%",
    "iOS >= 7",
    "Android >= 4.0"
  ]
  • 样式的模块化
 module: {
        rules: [{
            test: /\.scss$/,
            use: [
                'style-loader',
                {
                    loader:'css-loader',
                    options: {
                        importLoaders: 2,  //当遇到@import时,如何对loder向后移动,进行处理
                        modules: true  // 样式模块化的配置
                    }
                },
                'sass-loader',
                'postcss-loader'
            ]
        }]
    }

模块化的使用

import style from './index.scss'  // 导入时,进行命名
img.classList.add(style.avatar)
  • appendChild与innerHtml的区别
dom.appendChild('<div>a</div>')  // 会进行转义
dom.innerHtml('<div>a</div>')  // 不会进行转义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值