CSS,JS文件管理
<h2>如何把资源文件交给Symfony2</h2>
<ul>
<li>直接使用某个CSS/JS文件</li>
</ul>
<pre><code class="language-php">{{asset('xxx.jx')}}</code></pre>
<ul>
<li>注册/定义资源</li>
</ul>
<pre><code class="language-php">{% javascripts %}
{% stylesheets %}</code></pre>
<h2>对页面某一部分进行重载</h2>
<pre><code class="language-php">{% block my_js %}
{% endblock %}</code></pre>
<h2>通用js,css载入</h2>
<pre><code class="language-php">{% block global_css %}
{% stylesheets
'@public/css/bootsrap.min.css'
'@public/css/main.css'
%}
<link rel="stylesheets" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}</code></pre>
<h2>使用coffeescript编写JS源文件</h2>
<pre><code class="language-php">{% block my_js %}
{% javascripts '@public/js/index/*.coffee' filter='coffee' %}
{% endblock %}</code></pre>
<ul>
<li>config文件中</li>
</ul>
<pre><code class="language-php">filters:
coffee:
bin: /usr/local/bin/coffee //执行文件地址
node: /usr/bin/node //node.js地址</code></pre>
<h2>代码压缩和优化</h2>
<pre><code class="language-php">{% block my_js %}
{% javascripts '@public/js/index/*.coffee' filter='coffee,uglifyjs2' %}
{% endblock %}
filters:
coffee:
bin: /usr/local/bin/coffee //执行文件地址
node: /usr/bin/node //node.js地址
cssrewrite: ~
uglifyjs2:
/usr/local/bin/uglifyjs</code></pre>
<h2>对CSS和JS文件进行版本控制</h2>
<ul>
<li>config文件中</li>
</ul>
<pre><code class="language-php">framework:
templating:
assets_version:5
assets_version_format: %%?version=%%s</code></pre>
<h2>生产环境编译css/js预编译文件</h2>
<pre><code class="language-shell">php app/console assetic:dump --env=prod --no-debug</code></pre>