我有一个基于这个例子的compass sinatra项目。
正如在这个提交的pull request和这个pull request注释中提到的,sinatra能够根据需要自动生成编译好的css文件。
然而,这似乎是一种浪费,因为服务器必须重新编译,即使没有改变css文件。如果服务器监视更改,在文件更改时重新编译,但根据需要提供相同的静态css文件,这不是更好吗?这就像我们运行"compass watch"并只提供编译后的文件一样。
我的问题是:有没有一个好方法让sinatra自动编译我的sass文件到一个静态的CSS变化,而不必单独运行手表指南针?
注意:我也有一个express/node/stylus项目,它的行为是这样的,这让我相信这是可能的和合乎逻辑的方式,我只是错误地配置了我的sinatra应用程序。
要改变CSS,你必须:
- 将新文件推送到应用服务器(可能会重新启动)
- 在后台重新编译(例如服务器上的
compass watch
) - 让服务器对更改进行编译(使用类似您给出的示例)
sass watch
或compass watch
作为后台任务,例如sass --watch app/views/stylesheets:app/public/css &
)来编译它们,然后我检查。css文件并将它们推送到服务器。
YMMV .