八、CSS工程化

CSS工程化

  • 组织
  • 优化
  • 构建
  • 维护

PostCSS

  • 介绍

    • PostCSS本身只有解析能力
    • 各种神奇的特性全靠插件
    • 目前至少有200多个插件


  • 常见插件

    • import 模块合并
    • autoprefixer 自动加前缀
    • cssnano 压缩代码
    • cssnext 使用css新特性,类似es6使用的bulb
    • precss变量、mixin、循环等
  • postcss有自己的脚手架

npm install postcss-cli
./node_modules/.bin/postcss test.css -o test2.css
在postcss.config.js文件中引入插件
const autoprefixer = require('autoprefixer');
module.exports={
    plugins:[
        autoprefixer({
            browerse:['Firefox > 1']// 浏览器BrowserList
        })
    ]
}
  • PostCSS支持的构建工具
    • cli 命令行工具
    • webpack postcss-loader
    • gulp gulp-postcss
    • grunt grunt-postcss
    • rollup rollup-postcss

webpack

  • 核心思想
    • JS是整个应用的核心
    • 一切资源均有JS管理依赖
    • 一切资源均有webpack打包
npm install webpack
webpack test.js test1.js
  • webpack处理css
在js文件中require(xxx.css);
npm install css-loader style-loader
// css-loader 将css文件变为js文件
// style-loader 将JS样式插入head
在webpack.config.js中
module.exports = {
    module:{
        rule:[{
            test:/\.css$/,
            use:['style-loader','css-loader']
        }]
    }
}
  • css-modules和extract-text-plugin

    • css-modules 避免组件样式产生冲突,实现组件样式封装
    module.exports = {
        module:{
            rule:[{
                test:/\.css$/,
                use:['style-loader',{
                    loader:'css-loader',
                    options:{
                        modules:true
                    }
                }]
            }]
        }
    }
    
    在js中
    var style =require(test.css)
    <div class='red'></div>=>改为<div class=style.red></div>
    
    • extract-text-plugin
    Plugins:new ExtractTextPlugin('xxx.css')
    

    将CSS从JS中提取出来,样式通过css来加载,而不是将css变成js文件!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,554评论 7 35
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,341评论 7 110
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 13,854评论 0 21
  • http://blog.csdn.net/weizengxun/article/details/53448885 ...
    晓卢轩阅读 3,818评论 0 0
  • 这绝对不是一篇跑步秘籍,也不是一篇跑者的专业文,只是一个还没怎么入门却找到点心流的跑步菜鸟的碎碎念。 曾经我一直认...
    夏靓靓阅读 3,971评论 0 4

友情链接更多精彩内容