apnet/assetic-importer-bundle

该包已被弃用且不再维护。没有建议的替代包。

将资源项目集成到 Symfony2

安装: 1,425

依赖者: 4

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

1.4.0 2016-07-08 13:17 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:33:38 UTC


README

Travis-ci status SensioLabsInsight

Bundle 的主要目的是排除 cssrewrite 过滤器,并绕过已知的问题,即当使用 @AcmeFooBundle 语法为 CSS 样式表时,cssrewrite 会失败。

Bundle 允许您通过 assetic 直接将文件从非公共目录导入到 routing。这些文件可以是 外部程序 的结果,或者是由 Symfony 动态创建的。 Bundleassetic 会自动跟踪每个请求中对文件的更改。

安装

将要求添加到 composer.json

{
  "require" : {
    "apnet/assetic-importer-bundle" : "~1.0"
  }
}

注册 Bundle

AppKernel.php 文件中注册 Bundle

// ...other bundles ...
$bundles[] = new Apnet\AsseticImporterBundle\ApnetAsseticImporterBundle();
if ($this->getEnvironment() == 'dev') {
    // ...other bundles ...
    $bundles[] = new Apnet\AsseticWatcherBundle\ApnetAsseticWatcherBundle();
}

配置

假设你在 app/Resources 内有两个目录

  1. app/Resources/simple_dir 包含 style1.css 文件
  2. app/Resources/compass_dir 包含 config.rb 和其他 compass-project 文件(例如 sass/style2.scssstylesheets/style2.css

然后在你的 config.yml 中添加配置

apnet_assetic_importer:
    assets:
        dir1:
            source: %kernel.root_dir%/Resources/simple_dir
            target: example1
        dir2:
            source: %kernel.root_dir%/Resources/compass_dir/config.rb
            target: example2
            importer: compass

经过这些更改后,两个 CSS 文件将通过 /app_dev.php 可用

  1. /app_dev.php/example1/style1.css
  2. /app_dev.php/example2/stylesheets/style2.css。此外,css_dirimages_dirjavascripts_dirfonts_dir 中的所有文件都将可用。sass_dir 目录的内容将是私有的。

所有文件都将通过 assetic:dump 命令导出。

Twig

要将在 Twig 模板中包含您的 CSS,请使用 imported_asset 函数

<link href="{{ imported_asset('example1/style1.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ imported_asset('example2/stylesheets/style2.css') }}" rel="stylesheet" type="text/css" />

Assetic Watcher Bundle

实际上 apnet/assetic-importer-bundle 内有两个 Bundle

  1. Apnet\AsseticImporterBundle
  2. Apnet\AsseticWatcherBundle

Watcher 是一个工具,可以与 dev 环境一起使用,以编译 compass 项目,而无需任何外部文件监视器或 IDE。

  • 当然,Apache 用户需要 compass_dir/stylesheets 目录的写入权限

AsseticWatcherBundle 默认是禁用的。

配置

首先,要启用 Assetic Watcher,请将以下行添加到 config_dev.yml

apnet_assetic_watcher:
    compiler_root: %kernel.root_dir%/Resources
    enabled: true

其次,在 config.yml 中添加 watcher 参数到导入的资产配置

apnet_assetic_importer:
    assets:
        # ...
        dir2:
            source: %kernel.root_dir%/Resources/compass_dir/config.rb
            target: example2
            importer: compass
            watcher: true