2012-02-12 74 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 %} 
相关问题