如何使用这两个库将scss文件(使用指南针mixins / features)编译成php中的css?

时间:2013-12-27 02:07:08

标签: php css sass compass-sass

我有很多scss文件整齐地组织到文件夹中并通过@import相互链接,我需要在运行时将它们编译到服务器端的css中。其中一个文件[application.scss]链接到所有文件,然后通过大量的@import链接到所有其他scss文件。所以我只需要将application.scss传递给这两个库,他们应该完成其余的工作。

我一直在使用这个https://github.com/leafo/scssphp PHPSCSS并且它工作得非常好,直到我开始遇到错误“undefined mixin X / Y / Z”,但后来我意识到我使用的scss文件已经使用罗盘然后让我使用这个https://github.com/leafo/scssphp-compass PHPSCSS-COMPASS与这段代码/示例完美地工作:

require "compass.inc.php";
require "scss.inc.php";
$scss = new scssc();
new scss_compass($scss);

echo $scss->compile('
        @import "compass";

        .shadow {

         @include box-shadow(10px 10px 8px red);

       }
');

问题是,在.shadow {@include box-shadow( 10px 10px 8px red); }的地方将所有scss代码作为字符串传递对我来说不实际也不可行 我需要传入application.scss文件而不是scss代码片段。 我试过这样做,但它没有用:

require "compass.inc.php";
require "scss.inc.php";
$scss = new scssc();
new scss_compass($scss);

echo $scss->compile('
        @import "compass";

        "application.scss"
');

这也不起作用:

$scss = new scssc();
new scss_compass($scss);
$server = new scss_server("sass",null,$scss);
$server->serve();

也没有这样做:

$scss = new scssc();
new scss_compass($scss);
$scss->setImportPaths("sass/");
echo $scss->compile('@import "compass"');
echo $scss->compile('@import "application.scss"');

有人可以帮忙吗?

0 个答案:

没有答案