Ruby 无需compass watch自动编译持久化css

Ruby 无需compass watch自动编译持久化css,ruby,configuration,sinatra,compass-sass,Ruby,Configuration,Sinatra,Compass Sass,我有一个罗盘西纳特拉项目的基础上 如和中所述,sinatra能够根据请求根据需要自动生成已编译的css文件 然而,这似乎是一种浪费,因为即使css文件没有更改,服务器也必须重新编译。如果服务器监视更改,重新编译文件更改,但按需提供相同的静态css文件,不是更好吗?这就像我们运行“compass watch”并提供编译文件一样 我的问题是:有没有一种好方法可以让sinatra在更改时自动将我的sass文件编译成静态CSS,而不必单独运行watch compass 注意:我还有一个express/n

我有一个罗盘西纳特拉项目的基础上

如和中所述,sinatra能够根据请求根据需要自动生成已编译的css文件

然而,这似乎是一种浪费,因为即使css文件没有更改,服务器也必须重新编译。如果服务器监视更改,重新编译文件更改,但按需提供相同的静态css文件,不是更好吗?这就像我们运行“compass watch”并提供编译文件一样

我的问题是:有没有一种好方法可以让sinatra在更改时自动将我的sass文件编译成静态CSS,而不必单独运行watch compass


注意:我还有一个express/node/stylus项目,它的行为是这样的,这让我相信这是可能的,也是合乎逻辑的,我只是错误地配置了我的sinatra应用程序

要更改CSS,您必须:

  • 将新文件推送到应用程序服务器(可能需要重新启动)
  • 在后台重新编译(例如服务器上的compass watch)
  • 让服务器根据更改进行编译(使用类似于您给出的示例的内容)
就我个人而言,我赞成第一种。我不确定为什么我希望服务器编译静态资产?它占用了宝贵的资源,而且CSS在我的开发机器上发生了变化,所以为什么不在我的开发机器上编译它们呢?我没有听到这些问题的好答案,所以我使用一个文件(或者您可以使用
sass-watch
compass-watch
作为后台任务,例如
sass-watch-app/views/stylesheets:app/public/css&
)编译它们,然后签入.css文件并将它们推送到服务器


YMMV.

或者:有没有一种好方法可以让sinatra根据需要自动将我的sass文件编译成静态CSS,而不必单独运行watch compass?