我刚刚启动了我的第一个 Sinatra 应用程序,我正在尝试让Guard-Less启动并运行。我已经修复了一个rb-readline 问题,该问题阻止对 .less 文件的更改更新我的 CSS,但我也无法将编译后的 CSS 文件输出到正确的目录中。Guard-Less 说你可以传递一个:output
选项来保护以确保 CSS 被编译到正确的目录,但我还没有让它工作一次。CSS 只是编译到与 LESS 文件相同的目录。
我正在foreman start
本地运行该应用程序。
保护文件:
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
guard 'less',
:all_on_start => true,
:output => 'public/assets/css' do
watch(%r{^less/(.+\.less)$})
end
宝石文件:
source 'https://rubygems.org'
gem 'sinatra'
gem 'shotgun'
gem 'therubyracer'
gem 'rb-readline'
gem 'less', '~>1.2'
gem 'haml'
gem 'rb-fsevent', '~> 0.9'
gem 'guard-less'
档案:
guard: bundle exec guard
web: bundle exec ruby bootstrap.rb -p $PORT
bootstrap.rb 文件:
require 'rubygems'
require 'sinatra/base'
require 'haml'
class MyApp < Sinatra::Base
get '/' do
haml :index
end
end
MyApp.run!
的输出guard show
证明该选项正在被识别:
$ guard show
+---------+--------+--------+-----------------------+
| Group | Plugin | Option | Value |
+---------+--------+--------+-----------------------+
| Default | Less | output | "public/assets/css" |
+---------+--------+--------+-----------------------+
最糟糕的是,我可以将 .less 文件留在与输出 css 相同的目录中,但这让我很烦,我想让它工作。有任何想法吗?