【问题标题】:SCSSPHP ignoring @import directive or relative path issue?SCSSPHP 忽略 @import 指令或相对路径问题?
【发布时间】:2017-07-20 19:22:49
【问题描述】:

我使用的是 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";}

不知道还有什么可以尝试的。有什么想法吗?

【问题讨论】:

  • 谢谢 - 同样的结果,不幸的是。

标签: php twitter-bootstrap sass


【解决方案1】:

您可以告诉 SCSSPHP 查找相对于文件实际路径的导入,因此您必须这样做

$scss->addImportPaths('app/assets/css/bootstrap/');

(或者无论如何构建您的调用)以根据实际 SCSS 文件的路径查找导入的文件,请参阅:Documentation - scssphp / Import Paths

【讨论】:

    猜你喜欢
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2016-01-08
    • 2011-04-29
    相关资源
    最近更新 更多