Symfony——如何使用Assetic实现资源管理

 

1. 安装和启用

    从Symfony 2.8开始,Assetic不再包含在Symfony Standard Edition中。在使用其任何功能之前,请在您的项目中安装执行此控制台命令的AsseticBundle

复制代码
$ composer require symfony/assetic-bundle
复制代码

    然后,在Symfony应用程序的 AppKernel.php 文件中启用该bundle:

复制代码
// app/AppKernel.php  // ...class AppKernel extends Kernel {     // ...    public function registerBundles()     {         $bundles = array(             // ...            new Symfony\Bundle\AsseticBundle\AsseticBundle(),         );          // ...    } }
复制代码

    最后,添加以下配置以在应用程序中启用Assetic支持:

复制代码
# app/config/config.ymlassetic:     debug:          '%kernel.debug%'     use_controller: '%kernel.debug%'     filters:         cssrewrite: ~# ...
复制代码

2. Assetic简介

    Assetic结合了两个主要思想:assets 和 filters 。assets 是CSS,JavaScript和图像文件等文件。filters 可以在将它们提供给浏览器之前应用于这些文件。如此实现了存储在应用程序中的资源文件与实际呈现给用户的文件之间的分离。

    没有Assetic,您只能直接提供存储在应用程序中的文件:

复制代码
<script src="{{ asset('js/script.js') }}"></script>
复制代码

    但是,通过Assetic,您可以在服务之前操纵这些资源(或从任何地方加载它们)。这意味着你可以:

  • 压缩并整合所有的CSS和JS文件
  • 通过某种编译器(如LESS,SASS或CoffeeScript)运行所有(或部分)CSS或JS文件
  • 进行图像优化

3. 使用

    比起直接提供文件,使用Assetic有许多好处,这些文件不需要必须存储在被使用的地方,而是可以从各种来源(例如从一个包中)中获取。

    您可以使用Assetic使用CSS,JavaScript和图像。添加之后的逻辑处理基本上是一样的,但语法略有不同。

3.1 包含JS文件

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信