2

我刚刚启动了我的第一个 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 相同的目录中,但这让我很烦,我想让它工作。有任何想法吗?

4

0 回答 0