autoprefixer PHP无法正常工作,如示例所示

时间:2014-08-28 07:00:50

标签: php css css3 autoprefixer

我使用composer安装了“autoPrefixer PHP”并尝试了github页面(https://github.com/vladkens/autoprefixer-php)中显示的示例。 非常简单的例子

$autoprefixer = new Autoprefixer();
$css      = 'a { transition: transform 1s }';
$prefixed = $autoprefixer->compile($css);

只输出$ css不变。但是,如果我使用自定义参数初始化autprefixer对象,则会正确输出前缀css。

$autoprefixer = new Autoprefixer('last 2 versions');

还用示例中的参数初始化对象,给出“未知浏览器要求'ie8'”错误

$autoprefixer = new Autoprefixer(array('ff > 2', '> 2%', 'ie8')); // many rules

那么我的装置有什么问题?事实上,我没有手动做任何事情,只是由作曲家安装。

2 个答案:

答案 0 :(得分:0)

“ie”和“8”之间需要一个空格,如示例所示:

$autoprefixer = new Autoprefixer(array('ff > 2', '> 2%', 'ie 8')); // many rules

答案 1 :(得分:0)

快速浏览vladkens Autoprefixer PHP编译方法的代码:

$nodejs = proc_open('node ' . __DIR__ . '/vendor/wrap.js',
    array(array('pipe', 'r'), array('pipe', 'w')),
    $pipes
);

好的,proc_open节点..,它使用Note.js并在vladkens自述文件介绍中写道:

  

该库提供与Node.js应用程序的PHP集成。

在自述安装部分,他也写了

  

首先,您需要在服务器中安装Node.js.

看起来目前还没有真正的PHP重建编译器,适用于没有自己的服务器的人,主机支持Note.js,Grunt / Gulp的经验,如Compass或没有mac CodeKit(不错的软件,以前找到它,但不能直接在linux上使用它。)

当我的PHP软件使用scss,sass,less或其他css PHP修改智能缓存时,添加autoprefixer也是一个好主意。

<强>结论

您需要在服务器上使用Node.js,并在PHP中执行proc_open()。