有没有办法使用960和指南针与sproutcore?

时间:2011-05-28 07:03:09

标签: sproutcore 960.gs compass-sass

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

1 个答案:

答案 0 :(得分: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罗盘插件没有安装在 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但我没有时间进一步测试它。这也适用于其他插件。此外,在构建最终应用程序时,我没有测试它是否也能正确编译。