Rails/Rack 以外のプロジェクトで Sprockets を利用しようとしていますが、Simone Carletti によるハウツー ガイドを見つけました。
私は自分のプロジェクトを次のように設定しています:
.
Gemfile
Rakefile
/src
/javascripts
/stylesheets
960.css
Gemfile:
source "http://rubygems.org"
gem 'sass'
gem 'sprockets'
レーキファイル:
require 'rubygems'
require 'bundler'
require 'pathname'
require 'logger'
require 'fileutils'
Bundler.require
ROOT = Pathname(File.dirname(__FILE__))
LOGGER = Logger.new(STDOUT)
BUNDLES = %w( all.css all.js )
BUILD_DIR = ROOT.join("build")
SOURCE_DIR = ROOT.join("src")
task :compile => :cleanup do
sprockets = Sprockets::Environment.new(ROOT) do |env|
env.logger = LOGGER
end
sprockets.append_path(SOURCE_DIR.join('javascripts').to_s)
sprockets.append_path(SOURCE_DIR.join('stylesheets').to_s)
BUNDLES.each do |bundle|
assets = sprockets.find_asset(bundle)
prefix, basename = assets.pathname.to_s.split('/')[-2..-1]
FileUtils.mkpath BUILD_DIR.join(prefix)
assets.write_to(BUILD_DIR.join(prefix, basename))
assets.to_a.each do |asset|
# strip filename.css.foo.bar.css multiple extensions
realname = asset.pathname.basename.to_s.split(".")[0..1].join(".")
asset.write_to(BUILD_DIR.join(prefix, realname))
end
end
end
走る
bundle install
バンドルは正常にインストールされます。
私が走るとき
rake compile
次のエラーが表示されます
rake aborted!
Don't know how to build task 'cleanup'
Tasks: TOP => compile
(See full trace by running task with --trace)
なぜこれが起こっているのかについてのアイデアはありますか? この問題のデバッグに役立つ場合は、ruby 1.9.3p194 を使用します。