我尝试从Using Compass from Ruby (not shell)调整解决方案,但没有成功.我的项目结构看起来像
assets/sCSS (location of uncompiled project files)assets/CSS (location for compiled CSS)assets/compass/config.cfg (the compass config file)
我尝试过这样的事情
fixed_options = { :project_path => '/path/to/assets,:sass_path => 'sCSS',:CSS_path => 'CSS'}Compass.add_project_configuration '/path/to/assets/compass/config.rb'Compass.add_configuration fixed_options,'custom'Compass.compiler.run
这是有效的,但是只有在项目root / path / to / assets中运行irb时才会这样做.
似乎在fixed_options中设置的任何内容都会根据需要覆盖config.rb中的选项(或者它们被合并,或者有两组选项:我有点难以告诉),但是:project_path似乎没有做任何事情因为指南针似乎只关心我运行的目录.
注意:我一直在尝试使用irb中Compass.compiler的输出来尝试了解正在发生的事情.
解决方法 注意:这可能不是您想要的答案,因为它涉及shell,但它可能是您想要的答案,因为它涉及从shell运行一次命令,然后在资产更改时重新编译.也许这对你来说已经足够了.我运行罗盘的方法是使用Guard文件.
这是我的Gemfile的相关部分(我正在使用OSX):
# Gems used only for assets and not required# in production environments by default.group :assets do gem "sass" # sassy CSS gem "coffee-script" # destroy JavaScript! gem "guard" # file watcher with rules gem "guard-coffeescript" # regen coffee gem "guard-sass",:require => false # auto generate sass gem "rb-fsevent" gem "growl" # notifications for OSXend
Compass配置文件:
# Set this to the root of your project when deployed:http_path = "/"CSS_dir = "public/CSS"sass_dir = "vIEws/stylesheets"images_dir = "public/images"JavaScripts_dir = "public/Js"project_type = :stand_aloneoutput_style = :compactline_comments = falsepreferred_Syntax = "sCSS"
在./Guardfile中
# This will generate stuff:guard 'coffeescript',:input => "coffee",:output => 'app/public/Js'guard 'sass',:input => 'app/vIEws/stylesheets',:output => 'app/public/CSS',:compass => true,:style => "compressed",:shallow => true
然后我在终端中运行guard start,它将查看文件以进行更改并重新编译更改.我让终端窗口在后台打开,所以我也可以强制重新编译.因人而异.
总结以上是内存溢出为你收集整理的如何在ruby代码中使用指南针来编译项目? (不使用系统调用)全部内容,希望文章能够帮你解决如何在ruby代码中使用指南针来编译项目? (不使用系统调用)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)