1

有没有办法做到这一点?我知道 Compass 可以在 sproutcore 中使用,但我也想使用 960 指南针插件。我在 app.css 中尝试了 dong import "960/grid" 但它一直抛出错误

4

1 回答 1

0

好吧,有一种方法可以工作,但我不确定是否有更清洁的解决方案。我刚刚使用 sproutcore 1.6 和车把模板设置了一个测试项目

 # 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 指南针插件。如果您使用-v标志运行 sc-server 以获取调试输出,则可以轻松发现这一点。你会发现这样的异常

 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中。您可以这样做,就是在框架目录中创建一个符号链接,就像这样

 # cd gems/compass 0.11.3/frameworks
 # ln -s ../../compass-960-plugin-0.10.3 960

停止并重新启动 sc-server,上面的示例将立即运行。

我不知道这对其他基于指南针的应用程序是否有任何不良影响。如前所述,它适用于sproutcore,但我没有时间进一步测试它。这也适用于其他插件。此外,当您构建最终应用程序时,我没有测试它是否也能正确编译。

于 2011-06-12T12:55:21.330 回答