css3打包后自動追加前綴插件:autoprefixer

用vue-cli構(gòu)建的項目腳手架已經(jīng)幫你把autoprefixer的配置做好了繁调,自己不需要做什么改動就會自動加前綴:

在這里插入圖片描述

下面一起看看涉及到autoprefixer這個插件的一些配置:

1,postcss配置寫在.postcssrc.js,


在這里插入圖片描述

2,瀏覽器規(guī)則則寫在package.json上,

在這里插入圖片描述

3,開發(fā)環(huán)境(build/webpack.dev.conf.js)樣式相關(guān)的loader


在這里插入圖片描述

4走净,生產(chǎn)環(huán)境(build/webpack.prod.conf.js)樣式相關(guān)的loader


在這里插入圖片描述

上述的配置設(shè)置不需要自己配置,cli腳手架環(huán)境搭建的時候已經(jīng)配置好了孤里。

vue-cli的開發(fā)環(huán)境和生產(chǎn)環(huán)境都是使用了postcss的伏伯,并且配置是一樣的

這里有一個問題,網(wǎng)上有博主說項目打包前和打包后的css前綴不一致:

--給app.vue下的img添加樣式

img{
 display: flex;
 transform: translateX(200px)
}

--打包前(即開發(fā)環(huán)境)img的樣式


在這里插入圖片描述

--打包后(即生產(chǎn)環(huán)境)img的樣式


在這里插入圖片描述

根據(jù)上面可看出打包前和打包后元素所帶的css前綴不一致了捌袜。

然后給出的解決方案:

從上面可以看出说搅,vue-cli的開發(fā)環(huán)境和生產(chǎn)環(huán)境都是使用了postcss的,并且配置是一樣的虏等,那么為什么打包前和打包后元素所帶的css前綴不一致呢弄唧,

鎖定問題

我們可以分析對比下build/webpack.dev.conf.js和build/webpack.prod.conf.js這兩個文件,影響css的無非就module里處理樣式的loader和處理css的插件plugin霍衫,從上面可以看出影響前綴的postcss的loader在兩個環(huán)節(jié)中是一致的候引,那么就可以知道問題出在處理css的插件上了。

經(jīng)過排查發(fā)現(xiàn)敦跌,webpack.prod.conf.js配置里是多了兩個css處理插件的澄干,如下


在這里插入圖片描述

ExtractTextPlugin這是提取分離css文件,不會影響css前綴峰髓,排除傻寂,那么問題就鎖定到OptimizeCSSPlugin插件身上。再進(jìn)一步携兵,當(dāng)我們把OptimizeCSSPlugin插件注釋掉疾掰,然后打包測試,居然發(fā)現(xiàn)這時開發(fā)環(huán)境和生產(chǎn)環(huán)境的css前綴一致了徐紧,就是它了>裁省L堪谩!

我們打開到npm官網(wǎng)搜一下這家伙
https://www.npmjs.com/package/optimize-css-assets-webpack-plugin
這是一個優(yōu)化壓縮css代碼的插件拂檩,但很失望侮腹,文檔說明很少
但我們注意到有一句話很關(guān)鍵:

在這里插入圖片描述

這貨里面依賴了cssnano,這插件也是用來優(yōu)化處理css格式、前綴什么的稻励。同時也有個autoprefixer配置參數(shù)父阻,直接到它官網(wǎng) https://cssnano.co/ 找到autoprefixer:

在這里插入圖片描述

這里的翻譯是:根據(jù)browsers選項刪除不必要的前綴。請注意望抽,默認(rèn)情況下加矛,它不會向CSS文件添加新前綴,這就可以解析清除我們的問題了煤篙,原來這插件的autoprefixer(默認(rèn)應(yīng)該是為true)把它認(rèn)為不必要的前綴刪掉了斟览,而postcss的autoprefixer是將我們設(shè)定的瀏覽器范圍的前綴加上,因此完美沖突了

解決問題

在build/webpack.prod.conf.js文件中OptimizeCSSPlugin插件的屬性cssProcessorOptions加上autoprefixer:false來禁用它辑奈,避免沖突


在這里插入圖片描述

上代碼:

new OptimizeCSSPlugin({
  cssProcessorOptions: config.build.productionSourceMap
   ? { safe: true, map: false,autoprefixer:false }
   : { safe: true, autoprefixer: false}
 }),

結(jié)論

最后苛茂,看看我們dev和build出來的css前綴,應(yīng)該就一致的了:
問題原因就是:OptimizeCSSPlugin里面依賴了cssnano,而cssnano里面也有一個autoprefixer配置參數(shù)鸠窗,它的作用是刪除不必要的前綴(會誤刪在某些瀏覽器必要的前綴)妓羊,這與postcss的autoprefixer效果沖突了,因此禁用它∷欤現(xiàn)在打包出來的與我們設(shè)定的瀏覽器范圍對應(yīng)的前綴一致


按照網(wǎng)上的博主的配置確實可以把開發(fā)環(huán)境和測試環(huán)境的前綴一模一樣侍瑟,但是看了下沒有必要,問題的前提不是前綴不一致丙猬,那個配置只是把和當(dāng)前瀏覽器不匹配的前綴不顯示出來而已涨颜,樣式還都是生效的,個人覺得如果不是特別大的問題不用改配置茧球。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末庭瑰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抢埋,更是在濱河造成了極大的恐慌弹灭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揪垄,死亡現(xiàn)場離奇詭異穷吮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)饥努,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門捡鱼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酷愧,你說我怎么就攤上這事驾诈〔纾” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵乍迄,是天一觀的道長管引。 經(jīng)常有香客問我,道長闯两,這世上最難降的妖魔是什么褥伴? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮生蚁,結(jié)果婚禮上噩翠,老公的妹妹穿的比我還像新娘。我一直安慰自己邦投,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布擅笔。 她就那樣靜靜地躺著志衣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猛们。 梳的紋絲不亂的頭發(fā)上念脯,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機(jī)與錄音弯淘,去河邊找鬼绿店。 笑死,一個胖子當(dāng)著我的面吹牛庐橙,可吹牛的內(nèi)容都是我干的假勿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼态鳖,長吁一口氣:“原來是場噩夢啊……” “哼转培!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浆竭,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤浸须,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后邦泄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體删窒,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年顺囊,在試婚紗的時候發(fā)現(xiàn)自己被綠了肌索。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡包蓝,死狀恐怖驶社,靈堂內(nèi)的尸體忽然破棺而出企量,到底是詐尸還是另有隱情,我是刑警寧澤亡电,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布届巩,位于F島的核電站,受9級特大地震影響份乒,放射性物質(zhì)發(fā)生泄漏恕汇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一或辖、第九天 我趴在偏房一處隱蔽的房頂上張望瘾英。 院中可真熱鬧,春花似錦颂暇、人聲如沸缺谴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽湿蛔。三九已至,卻和暖如春县爬,著一層夾襖步出監(jiān)牢的瞬間阳啥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工财喳, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留察迟,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓耳高,卻偏偏與公主長得像扎瓶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子祝高,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

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