你對postcss了解多少呢?

[官方解釋]:

PostCSS is a tool for transforming styles with JS plugins. These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, inline images, and more.

借助JavaScript瘫俊,PostCSS自身只包括以下4中能力:

? css分析器
? css節(jié)點(diǎn)樹API
? source map生成器
? css節(jié)點(diǎn)樹拼接器

關(guān)鍵介紹:

其實(shí)毫蚓,postcss目前已經(jīng)超過200+的插件沪悲,她幾乎可以完成你所有和 CSS 相關(guān)的工作(包括 Sass 和 Less 這些預(yù)處理器的工作)洗鸵,極大的提高你處理 CSS 的效率越锈。

有些插件可以讓你使用未來的語法,允許你使用諸如顏色函數(shù)膘滨,徑向漸變,自定義屬性稀拐,自定義選擇器火邓,為媒體查詢自定義別名以及許多其他的功能。還有一些顏色管理的插件,用來把顏色從一種格式轉(zhuǎn)換到另一種格式铲咨,修改顏色的 alpha 透明度躲胳,合成顏色等。

你目前開發(fā)的項目纤勒,不論你是用css坯苹,sass,less等格式來寫摇天,你都能使用postcss粹湃,而且不會相互影響。使用了postcss之后泉坐,你會發(fā)現(xiàn)为鳄,你只要維護(hù)一個(postcss)版本。

PostCSS 的插件是用 JavaScript 寫的腕让,只要你有想法孤钦,有一定的 JS 基礎(chǔ),你就可以把你的想法用插件的形式實(shí)現(xiàn)出來纯丸。你不需要安裝Ruby環(huán)境偏形。而且和構(gòu)建工具無縫集成。

那么構(gòu)建工具webpack如何配置postcss觉鼻?

從官方文檔中一句話中知道:
The Autoprefixer PostCSS plugin is one of the most popular CSS processors.
那么我們現(xiàn)在以autoprefixer為例俊扭,把postcss的autoprefixer配置到webpack中。
直接把配置文件的源代碼發(fā)此處

'use strict';
const path = require('path');
const srcPath = path.join(__dirname, '/../src');
const dfltPort = 8000;
function getDefaultModules() {
  return {
    preLoaders: [{
        test: /\.(js|jsx)$/,
        include: srcPath,
        loader: 'eslint-loader'
      }],
    loaders: [
      {
        test: /\.css$/,
        loader: 'style-loader!css-loader!postcss-loader'
      },
      {
        test: /\.sass/,
        loader: 'style-loader!css-loader!postcss-loader!sass-loader?outputStyle=expanded&indentedSyntax'
      },
      {
        test: /\.scss/,
        loader: 'style-loader!css-loader!postcss-loader!sass-loader?outputStyle=expanded'
      },
      {
        test: /\.less/,
        loader: 'style-loader!css-loader!postcss-loader!less-loader'
      },
      {
        test: /\.styl/,
        loader: 'style-loader!css-loader!postcss-loader!stylus-loader'
      },
      {
        test: /\.(png|jpg|gif|woff|woff2)$/,
        loader: 'url-loader?limit=8192'
      },
      {
        test: /\.(mp4|ogg|svg)$/,
        loader: 'file-loader'
      }
    ]
  };
}
module.exports = {
  srcPath: srcPath,
  publicPath: '/assets/',
  port: dfltPort,
  getDefaultModules: getDefaultModules,
  postcss: function () {
    return [
      require('autoprefixer')({
        browsers: ['last 2 versions', 'ie >= 8']
      })
    ];
  }
};

如何開發(fā)postcss插件呢滑凉?

其實(shí)開發(fā)插件之前统扳,你肯定會想到api吧。那么postcss Api畅姊,非常詳細(xì)的插件開發(fā)流程咒钟。
這里提供一個鏈接“快點(diǎn)我”,你可以直接在此嘗試postcss強(qiáng)大的插件功能若未。
當(dāng)然朱嘴,做任何事情都得有原則,有規(guī)范粗合,postcss插件開發(fā)也不例外萍嬉。

  • 不重復(fù)開發(fā)已有插件能力
  • 插件功能單一
  • 實(shí)現(xiàn)插件的邏輯時,盡可能使用異步流程隙疚,如:Promise, Generator, Async-await

結(jié)束語:

說了這么多壤追,你對postcss了解了嗎?
還不趕緊試試~
詳情請點(diǎn)擊官方鏈接
如果你覺得通過這篇文章供屉,你知道了postcss是什么行冰,怎么玩了溺蕉,請幫忙點(diǎn)個贊。如果有哪里說的不對的地方悼做,請留下貴大神指出哦疯特。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市肛走,隨后出現(xiàn)的幾起案子漓雅,更是在濱河造成了極大的恐慌,老刑警劉巖朽色,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邻吞,死亡現(xiàn)場離奇詭異,居然都是意外死亡纵搁,警方通過查閱死者的電腦和手機(jī)吃衅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腾誉,“玉大人徘层,你說我怎么就攤上這事±埃” “怎么了趣效?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長猪贪。 經(jīng)常有香客問我跷敬,道長,這世上最難降的妖魔是什么热押? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任西傀,我火速辦了婚禮,結(jié)果婚禮上桶癣,老公的妹妹穿的比我還像新娘拥褂。我一直安慰自己,他們只是感情好牙寞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布饺鹃。 她就那樣靜靜地躺著,像睡著了一般间雀。 火紅的嫁衣襯著肌膚如雪悔详。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天惹挟,我揣著相機(jī)與錄音茄螃,去河邊找鬼。 笑死连锯,一個胖子當(dāng)著我的面吹牛责蝠,可吹牛的內(nèi)容都是我干的党巾。 我是一名探鬼主播萎庭,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼霜医,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驳规?” 一聲冷哼從身側(cè)響起肴敛,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吗购,沒想到半個月后医男,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捻勉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年镀梭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踱启。...
    茶點(diǎn)故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡报账,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出埠偿,到底是詐尸還是另有隱情透罢,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布冠蒋,位于F島的核電站羽圃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抖剿。R本人自食惡果不足惜朽寞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斩郎。 院中可真熱鬧脑融,春花似錦、人聲如沸孽拷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脓恕。三九已至膜宋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炼幔,已是汗流浹背秋茫。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乃秀,地道東北人肛著。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓圆兵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枢贿。 傳聞我的和親對象是個殘疾皇子殉农,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評論 2 356

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