2012-02-12 75 views
2

不要誤會我的意思。我知道我們有lessc甚至其他編譯器在PHP(我在談論lessphp)和其他。如何在不使用Node.js的情況下在symfony2 + Assetic項目上使用LESS

但是!你知道,我真的很喜歡less.js way to work

我的意思是......

  • 指向性較低的文件
  • 指向的JavaScript
  • 工作

當您完成

  • 獲取localStorage版本來自瀏覽器
  • 把它放入一個CSS文件。

你有沒有想過一種方法來做類似的事情?

+0

爲什麼要求你的瀏覽器做這項工作,如果你能直接得到它的服務器端呢?無論如何,如果你不喜歡節點,仍然有犀牛的方式:http://caffeinelab.net/2011/07/18/lesscss-and-rhino/。 – Florian 2012-02-12 12:59:20

+0

如果你真的**想從瀏覽器中獲取css,你可以想象編寫一個phantomjs腳本來獲取less的LocalStorage內容,並且只在prod環境中將其放入靜態文件中。 – Florian 2012-02-12 13:00:28

+0

CSS意思是靜態的。我的意思是一個文件,由瀏覽器緩存(http 1.1規範的一部分)。 - 應用程序可以提供不同的上下文相關的新CSS,它們可以添加到CSS的基礎中。但這是沒有談話的。 :)我的觀點是,在開發的最後,你使用localStorage的版本(這是一個班輪壓縮)到你的樣式表。如果您的應用程序有許多上下文,請使用不同的file.less入口點。在prod應該只是靜態css – renoirb 2012-02-15 20:04:23

回答

0

不完全確定我明白這個問題。我在Symfony-2上使用sass。工作正常。有時我使用--watch選項進行自動更新。有時我使用Assetic scss過濾器。從來沒有少用過,但有一個過濾器。

我總是隻檢查最終的CSS文件,所以我不需要在部署過程中生成一個傻瓜。

+0

這正是我想要避免,使用「手錶」。我目前的設置是less.min.js,我使用一個條件。稍後我會記錄它。 – renoirb 2012-06-21 20:13:01

0

有一個關於使用lessphp與assetic後:

爲Symfony2.1(所以不需要的NodeJS):https://gist.github.com/3049271 爲Symfony2.0:https://gist.github.com/1844433

的SEPS:

添加下面的代碼行到composer.json文件:

"leafo/lessphp": "*" 

運行作曲家安裝 最好的方法是補充文件:%kernel.root_dir%/ .. /供應商/ leafo/lessphp/lessc.inc.php到config.yml文件:

#... 
assetic: 
    #... 
    filters: 
     lessphp: 
      file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php 
      apply_to: "\.less$" 

,然後在你的模板,你可以使用不太像這樣:

{% stylesheets '@AppBundle/Resources/public/bootstrap/less/bootstrap.less*' %} 
     <link rel="stylesheet" href="{{ asset_url }}" /> 
{% endstylesheets %} 
相關問題