2017-10-06 72 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 –