require 'susy'
なぜjrubyは私のコンパスconfig.rbで見つけることができます@import 'susy'
が、*。scssファイル内で問題が発生します:
[java] error Web Content/common/sass/base/foundation_de_DE.scss (Line 9: File to import not found or unreadable: susy.
[java] Load paths:
[java] <removed>/Web Content/common/sass
私の既存のアプリケーションは、フロントエンドでレスポンシブデザインの使用を開始したいと考えています。ただし、すべての開発者のマシン、統合環境、パフォーマンス環境、および本番環境にruby / compassをインストールすると、イニシアチブが失われます。
この質問とこの簡略化されたチュートリアルに従って、現在のAnt build.xmlを使用して、jRubyを使用していくつかのターゲットを作成しました。
どこにでもrubyをインストールする必要がないようにするためのjarトリックのgems :最新のjrubyごとにダウンロードされたjruby-complete-1.6.8.jarには、2013.03.20の時点で相対パスの問題があります
java -jar jruby-complete-1.6.8.jar -S gem install -i ./susy susy
jar uf jruby-complete-1.6.8.jar -C susy .
java -jar jruby-complete-1.6.8.jar -S gem list
ビルドプロセス中に使用されるantターゲット:
<target name="compass.compile">
<java classname="org.jruby.Main" fork="true" failonerror="true" classpathref="jruby.classpath">
<arg line="${basedir}/compile.rb ${basedir} compile ${basedir}"/>
</java>
</target>
ユーザーがscssファイルを保存するときに「自動コンパイル」するためにEclipseベースのIDEによって使用されるantターゲット。 Eclipseの「自動ビルド」scssファイルを作成する手順(ステップ5から開始)
<target name="compass.dev">
<path id="jruby.classpath">
<fileset dir="../../../release/lib/arch/jruby">
<include name="jruby-complete.jar"/>
</fileset>
</path>
<java classname="org.jruby.Main" fork="true" failonerror="true" classpathref="jruby.classpath">
<arg line="${basedir}/compile.rb ${basedir} compile ${basedir}"/>
</java>
</target>
最後に、antターゲットが使用する「compile.rb」は次のとおりです。
Dir.entries(ARGV[0]).each do |lib|
$LOAD_PATH.unshift "#{ARGV[0]}/#{lib}/lib"
end
require 'rubygems'
require 'compass'
require 'susy'
require 'compass/exec'
exit Compass::Exec::SubCommandUI.new([ARGV[1], ARGV[2], "-q"]).run!
およびコンパスで使用されるconfig.rb:
# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
require 'susy'
http_path = "./Web Content/"
css_dir = "./Web Content/common/sass-output-css/"
sass_dir = "./Web Content/common/sass/"
add_import_path "./Web Content/sass"
images_dir = "./Web Content/common/images/"
javascripts_dir = "./Web Content/common/js/widgets"
# To enable relative paths to assets via compass helper functions. Uncomment:
#relative_assets = true
そして最後に、scssファイルでsusyを使おうとしています。
@import 'reset';
@import 'utilities';
@import 'baseColorVariables';
@import 'font';
@import 'susy';
$total-columns: 12;
$column-width: 4em;
$gutter-width: 1em;
$grid-padding: 1em;
.magic-container { @include container; }