无需罗盘手表自动编译持久性CSS

时间:2013-03-06 01:09:00

标签: ruby configuration sinatra compass-sass

我有一个基于this example的指南针sinatra项目。

this commit in a pull requestthis pull request comment所述,sinatra能够根据要求自动生成编译后的css文件。

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

我的问题是:有没有一个很好的方法让sinatra在更改时自动将我的sass文件编译成静态CSS,而不必单独运行手表指南针?

注意:我还有一个快速/节点/手写笔项目,它的行为就像这样,这让我相信这是可能的和合乎逻辑的方式,而我只是错误配置我的sinatra应用程序。

1 个答案:

答案 0 :(得分:0)

要更改您必须的CSS:

  • 将新文件推送到应用程序服务器(可能重启)
  • 在后台重新编译(例如服务器上的compass watch
  • 让服务器根据更改进行编译(使用类似您给出的示例)

就个人而言,我赞成第一个。我不确定为什么我要服务器编译 静态 资产?它占用了宝贵的资源,并且我的开发机器上的CSS发生了变化,为什么不在我的开发机器上编译它们呢?我没有听到这些问题的好答案,因此我使用Guard文件(或者您可以使用sass watchcompass watch作为后台任务,例如sass --watch app/views/stylesheets:app/public/css &)来编译他们,然后我检查.css文件并将它们推送到服务器。

因人而异。

相关问题