有没有办法做到这一点?我知道 Compass 可以在 sproutcore 中使用,但我也想使用 960 compass 插件。我在 app.css 中尝试了 dong import "960/grid"但它一直抛出错误
最佳答案
好吧,有一种方法可以工作,但我不确定是否有更清洁的解决方案。我刚刚使用 sproutcore 1.6 和 Handlebars 模板设置了一个测试项目
# sc-init MyTest --template
并在 apps/MyTest/resources/stylesheets 中添加了一个额外的“test_960.scss”文件,内容如下
@import "960/grid";
$ninesixty_columns: 16;
#wrapper {
@include grid_container;
background-color: red;
}
但是,这不起作用,因为 sc-server 无法检测到 960 compass 插件。如果您使用 运行 sc-server,您可以轻松发现这一点。 -v 标志以获取调试输出。你会发现这样的异常
Sass::SyntaxError: File to import not found or unreadable: 960/grid.
Load paths:
/Users/myuser/.rvm/gems/ruby-1.9.2-p180/gems/compass 0.11.3/frameworks/blueprint/stylesheets
/Users/myuser/.rvm/gems/ruby-1.9.2-p180/gems/compass-0.11.3/frameworks/compass/stylesheets
Compass::SpriteImporter
[...]
问题是,960 compass 插件没有安装在 gems/compass 0.11.3/frameworks 中,而是安装在 gems/compass-960-plugin-0.10.3 中。您可以这样做,就是在框架目录中创建一个符号链接(symbolic link),就像这样
# cd gems/compass 0.11.3/frameworks
# ln -s ../../compass-960-plugin-0.10.3 960
停止并重新启动 sc-server,上面的示例将立即运行。
我不知道这对其他基于 compass 的应用程序是否有任何不良影响。如前所述,它适用于sproutcore,但我没有时间进一步测试它。这也适用于其他插件。此外,当您构建最终应用程序时,我没有测试它是否也能正确编译。
关于sproutcore - 有没有办法将 960 和 compass 与 sproutcore 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6160188/