我使用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?
答案 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 ) );