自动编译持久css没有指南针手表



我有一个基于这个例子的compass sinatra项目。

正如在这个提交的pull request和这个pull request注释中提到的,sinatra能够根据需要自动生成编译好的css文件。

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

我的问题是:有没有一个好方法让sinatra自动编译我的sass文件到一个静态的CSS变化,而不必单独运行手表指南针?

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

要改变CSS,你必须:

  • 将新文件推送到应用服务器(可能会重新启动)
  • 在后台重新编译(例如服务器上的compass watch)
  • 让服务器对更改进行编译(使用类似您给出的示例)
就我个人而言,我倾向于前者。我不知道为什么我想要服务器编译静态资产?它占用了宝贵的资源,而且CSS在我的开发机器上发生了变化,所以为什么不在我的开发机器上编译它们呢?我没有听到这些问题的好答案,所以我使用Guardfile(或者您可以使用sass watchcompass watch作为后台任务,例如sass --watch app/views/stylesheets:app/public/css &)来编译它们,然后我检查。css文件并将它们推送到服务器。

YMMV .

最新更新