2017-10-06 67 views
0

我正在使用@ angular/cli @ 1.4.3。Angular CLI刪除前綴CSS

建設之前,我使用gulp-postcss autoprefix我的CSS。它工作的一種享受。下面是它創建的CSS樣本(爲了便於閱讀而未縮小):

form.registration-form { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-align: center; 
    -webkit-align-items: center; 
    -ms-flex-align: center; 
    align-items: center; 
    -webkit-box-flex: 1; 
    -webkit-flex-grow: 1; 
    -ms-flex-positive: 1; 
    flex-grow: 1; 
    -webkit-flex-wrap: wrap; 
    -ms-flex-wrap: wrap; 
    flex-wrap: wrap; 
} 

完美!但是,當CLI構建應用程序,創建的CSS是這樣的:

form.registration-form { 
    display:-webkit-box; 
    display:-ms-flexbox; 
    display:flex; 
    -webkit-box-align:center; 
    -ms-flex-align:center; 
    align-items:center; 
    -webkit-box-flex:1; 
    -ms-flex-positive:1; 
    flex-grow:1; 
    -ms-flex-wrap:wrap; 
    flex-wrap:wrap 
} 

注意如何的一半丟失!? :/

我很困惑,任何幫助,我會永遠感激!

乾杯!

回答

3

Angular cli的autoprefixer正在使用瀏覽器列表(https://github.com/ai/browserslist)來確定您在CSS中需要的前綴。您可以在browserslist屬性添加到爲browserslist您的package.json文件拿起你想支持

"browserslist": [ 
    "> 1%", 
    "last 2 versions" 
] 

什麼瀏覽器,或者您的加入.browserslistrc文件到你的根目錄

### Supported Browsers 

> 1% 
last 2 versions 

現在autoprefixer會選擇你想要支持的瀏覽器,並相應地加上前綴。這一切都在角度cli文檔(https://github.com/angular/angular-cli/wiki/stories-autoprefixer

簡而言之,角度cli支持不同範圍的瀏覽器,這導致不同的CSS前綴。

+1

對於其他任何正在研究這個問題的人來說,在這個知識的基礎上,我幾乎能夠在整個項目中完全消除我對吞噬的依賴。我知道CLI使用webpack,但不知道它被配置爲像這樣autoprefix CSS。永恆的感激之情是你的萊<3 –