Angular CLI 删除前缀 CSS

Angular CLI removing prefixed CSS

我正在使用 @angular/cli@1.4.3

在构建之前,我正在使用 gulp-postcss 来自动添加我的 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
}

注意到一半不见了!? :/

我很困惑,任何帮助,我将永远感激不已!

干杯!

Angular cli 的自动前缀正在使用浏览器列表 (https://github.com/ai/browserslist) 来确定您在 css 中需要的前缀。您可以将浏览器列表 属性 添加到您的 package.json 文件中,以便浏览器列表选择您想要支持的浏览器

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

或者您将 .browserslistrc 文件添加到目录的根目录

### Supported Browsers

> 1%
last 2 versions

现在 autoprefixer 将选择您想要支持的浏览器并相应地添加前缀。 angular cli 文档 (https://github.com/angular/angular-cli/wiki/stories-autoprefixer)

简而言之,gulp-postcss & angular cli 支持不同范围的浏览器,这导致不同的 css 前缀.