用scssphp改变scss变量

时间:2015-07-09 09:52:18

标签: php sass

我使用scssphp查看是否可以使用它来更改现有scss中设置的变量,以便我设置一个测试用例:

require_once "scssphp-0.1.7/scss.inc.php";

use Leafo\ScssPhp\Compiler;
use Leafo\ScssPhp\Server;

$scss = new Compiler();
$scss->addImportPath('testsass');

$scss->compile('$color: blue;');
$test = $scss->compile('@import "test.scss"');

echo $test;

我的test.scss看起来像:

$color: red;

body {
    background: $color;
}

现在我希望我可以在我的php中将$ color更改为蓝色而不是编译它,我确定上面显示的方式不正确。

但有没有办法将$ color的变量更改为蓝色而不是重新编译我的test.scss?

1 个答案:

答案 0 :(得分:3)

使用可以完美运行的解决方法自己解决这个问题。 我已经在其中创建了一个包含所有变量的config.scss。并决定在编译我的layout.scss之前打开并重写它,它会导入config.scss

     var methods = Assembly.GetExecutingAssembly()
        .GetTypes()
        .SelectMany( t => t.GetMethods() )
        .Where( m => m.GetCustomAttributes( typeof ( MyAttribute ), true ).Any() && m.IsPublic && m.GetParameters().Length == 0 )
        .ToList();

     methods.ForEach( m => Debug.WriteLine( m.Name ) );