我使用SCSSPHP,我的文件夹结构如下:
/app/assets
/css
/css.php
/mysite.scss
/bootstrap
/bootstrap.scss
/bootstrap
/_variables.scss
/... more bootstrap stuff ...
我的css.php看起来像这样:
<?php
require "../../vendor/scssphp/scss.inc.php";
scss_server::serveFrom(".");
现在,当我尝试加载URL /assets/css/css.php/bootstrap/bootstrap.scss
时,我得到的只是文件的原始内容。例如。在SCSS处理过程中似乎忽略了所有@import
指令。
/* compiled by scssphp v0.0.12 on Mon, 28 Jul 2014 14:04:38 -0400 (0.025s) */
@import "bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/normalize";
/* ... more bootstrap stuff ... */
我的假设是SCSSPHP并不喜欢相对路径,即使它们是正确的。所以我更改了variables
导入以生成相对于css.php
文件的路径:
@import "bootstrap/bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/normalize";
/* ... more bootstrap stuff ... */
之后,SCSSPHP似乎也认识了这条道路。但它只剥离了import指令,并留下了这个渲染的CSS:
/* compiled by scssphp v0.0.12 on Mon, 28 Jul 2014 14:06:25 -0400 (0.129s) */
/* NOTICE: variables missing! */
@import "bootstrap/mixins";
@import "bootstrap/normalize";
/* ... more bootstrap stuff ... */
查看缓存的SCSS文件夹,我看到缓存的引导程序导入了CSS,其行为就像它确实找到要导入的文件一样,但实际上并没有导入!
a:1:{i:0;s:37:"./bootstrap/bootstrap/_variables.scss";}
不确定还有什么可以尝试。有什么想法吗?
答案 0 :(得分:0)
您可以告诉SCSSPHP查找相对于文件实际路径的导入,因此您必须这样做
$scss->addImportPaths('app/assets/css/bootstrap/');
(或建立您的调用)根据实际SCSS文件的路径查找导入的文件,请参阅:Documentation - scssphp / Import Paths