PostCSS

PostCSS介紹

PostCSS本身是一個(gè)功能單一的工具巾陕,提供了用JavaScript處理CSS的方法。它負(fù)責(zé)把CSS代碼解析成抽象語法樹結(jié)構(gòu)(Abstract Syntax Tree,AST), 再交由插件來進(jìn)行處理揣炕。插件的功能多種多樣,比如可以支持變量和混入(mixin),增加瀏覽器相關(guān)的聲明前綴族阅,或者是把CSS新規(guī)范轉(zhuǎn)譯成當(dāng)前的CSS規(guī)范支持的格式,目前 PostCSS 已經(jīng)有 200 多個(gè)功能各異的插件膝捞。開發(fā)人員也可以根據(jù)項(xiàng)目的需要坦刀,開發(fā)出自己的 PostCSS 插件。
PostCSS 從其誕生之時(shí)就帶來了社區(qū)對(duì)其類別劃分的爭(zhēng)議蔬咬。這主要是由于其名稱中的 post鲤遥,很容易讓人聯(lián)想到 PostCSS 是用來做 CSS 后處理(post-processor)的,從而與已有的 CSS 預(yù)處理(pre-processor)語言林艘,如 SASS 和 LESS 等進(jìn)行類比盖奈。實(shí)際上,PostCSS 的主要功能只有兩個(gè):

  • 第一個(gè)就是前面提到的把 CSS 解析成 JavaScript 可以操作的 AST
  • 第二個(gè)就是調(diào)用插件來處理 AST 并得到結(jié)果狐援。因此钢坦,不能簡(jiǎn)單的把 PostCSS 歸類成 CSS 預(yù)處理或后處理工具。PostCSS 所能執(zhí)行的任務(wù)非常多啥酱,同時(shí)涵蓋了傳統(tǒng)意義上的預(yù)處理和后處理爹凹。PostCSS 是一個(gè)全新的工具,給前端開發(fā)人員帶來了不一樣的處理 CSS 的方式镶殷。

使用PostCSS

PostCSS既可以在命令行中直接使用禾酱,也可以與構(gòu)建工具Gulp,Grunt,以及webpack集成使用。下面將介紹如何在webpack中使用PostCSS的Autoprefixer插件。

const webpack = require('webpack')
const path = require('path')
const autoprefixer = require('autoprefixer')
const ExtractTextPlugin = require("extract-text-webpack-plugin")

module.exports = {
    entry: path.join(__dirname, 'script/index.js'),
    output: {
        path: path.join(__dirname, '../public/js'),
        filename: 'index.js'
    },

    module: {
        rules: [{
            test: /\.scss$/,
            use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: ["css-loader", "sass-loader", "postcss-loader"]
                }) //把 css 抽離出來生成一個(gè)文件
        }]
    },
    plugins: [
        new ExtractTextPlugin("css/index.css"),
        new webpack.LoaderOptionsPlugin({
            options: {
                postcss: [
                    autoprefixer()
                ]
            }
        })
    ]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颤陶,一起剝皮案震驚了整個(gè)濱河市颗管,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滓走,老刑警劉巖忙上,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異闲坎,居然都是意外死亡疫粥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門腰懂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梗逮,“玉大人,你說我怎么就攤上這事绣溜】锻” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵怖喻,是天一觀的道長(zhǎng)底哗。 經(jīng)常有香客問我,道長(zhǎng)锚沸,這世上最難降的妖魔是什么跋选? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮哗蜈,結(jié)果婚禮上前标,老公的妹妹穿的比我還像新娘。我一直安慰自己距潘,他們只是感情好炼列,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著音比,像睡著了一般俭尖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洞翩,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天稽犁,我揣著相機(jī)與錄音,去河邊找鬼菱农。 笑死缭付,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的循未。 我是一名探鬼主播陷猫,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼秫舌,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了绣檬?” 一聲冷哼從身側(cè)響起足陨,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娇未,沒想到半個(gè)月后墨缘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡零抬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年镊讼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片平夜。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝶棋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忽妒,到底是詐尸還是另有隱情玩裙,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布段直,位于F島的核電站吃溅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸯檬。R本人自食惡果不足惜决侈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望京闰。 院中可真熱鬧颜及,春花似錦、人聲如沸蹂楣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痊土。三九已至,卻和暖如春墨林,著一層夾襖步出監(jiān)牢的瞬間赁酝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工旭等, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酌呆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓搔耕,卻偏偏與公主長(zhǎng)得像隙袁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容