PostCSS Autoprefixer 不适用于命令行

rmd*_*urt 4 css autoprefixer postcss

现在,我正在从事一个项目,其中我必须支持 ie10 的 Flexbox,我正在尝试通过终端独立地自动添加一些 CSS 代码。

该项目不支持任何构建工具,如 gulp 或 webpack。

所以我安装了 postcss 和 autoprefixer 如下:

npm install -g postcss autoprefixer
Run Code Online (Sandbox Code Playgroud)

然后我尝试像这样自动添加单个文件前缀:

npx postcss --use autoprefixer --autoprefixer.flexbox --autoprefix.browser "> 0%" -o main.css test.css
Run Code Online (Sandbox Code Playgroud)

它适用于我的大部分代码,但它不包含 ie10 中 Flexbox 的任何前缀。

难道我做错了什么?

Dan*_*ado 6

您调用的 cli 命令适用于postcss-cli-simple,不适用于postcss本身或postcss-cli

要使用您的命令,您必须安装此软件包

npm install postcss-cli-simple autoprefixer
Run Code Online (Sandbox Code Playgroud)

然后就可以使用这个命令了

./node_modules/.bin/postcss --use autoprefixer --autoprefixer.browsers "ie 10" -o main.css test.pcss
Run Code Online (Sandbox Code Playgroud)

该命令将转换:

body {
  display: flex;
  flex: 1 0 calc(1vw - 1px);
}
Run Code Online (Sandbox Code Playgroud)

进入这个

body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 0 calc(1vw - 1px);
      flex: 1 0 calc(1vw - 1px);
}
Run Code Online (Sandbox Code Playgroud)