zenstruck/asset-manifest-bundle

此包已被弃用,不再维护。作者建议使用 symfony/framework-bundle 包。

加载资产清单以将您的资产映射到动态资产。

资助包维护!
kbond

安装次数: 10,610

依赖项: 0

建议者: 0

安全: 0

星星: 8

观察者: 3

分支: 1

开放问题: 0

类型:symfony-bundle

v1.2.0 2016-12-22 21:33 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:57:36 UTC


README

注意:此捆绑包的功能现在已在 Symfony 核心中

ZenstruckAssetManifestBundle

Build Status Scrutinizer Code Quality Code Coverage SensioLabs Insight StyleCI Latest Stable Version License

此捆绑包添加了twig函数manifest_asset,这是一个对原生asset的包装,但会查找配置的manifest json文件以映射资产。此文件可以使用 Gulpgulp-rev Gulp 插件生成。如果您已使用 LaravelLaravel Elixir,则 manifest_asset 函数类似于Laravel的 elixir 函数。

安装

下载

composer require zenstruck/asset-manifest-bundle

启用捆绑包

//app/AppKernel.php
//...
  public function registerBundles() {
      $bundles = [
          //...
          new Zenstruck\AssetManifestBundle\ZenstruckAssetManifestBundle(),
          //...
      ];
      //...
  }
//...

配置

默认情况下,未配置清单。在开发中,这可能很理想。对于生产,您将需要配置一个映射资产的清单文件。

#app/config/config_prod.yml
#...

zenstruck_asset_manifest:
    manifest_file: "%kernel.root_dir%/../web/assets/manifest.json"

#...

用法

在twig文件中,应将asset替换为manifest_asset

以下是一个示例

<!DOCTYPE html>
<html>
  <head>
    <title>My page title</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="{{ manifest_asset('assets/main.css') }}">
  </head>
  <body>
    My page content
  </body>
</html>

注意:如果没有配置清单文件,manifest_asset的行为与原生asset函数完全相同。

前缀

假设您的公共(网络)文件夹如下所示

.
├── assets
│   ├── build
│   │   ├── css
│   │   │   └── app-8f07f52635.css
│   │   └── rev-manifest.json
│   └── css
│       └── app.css

并且您的rev-manifest.json文件如下所示

{
    "css/app.css": "css/app-8f07f52635.css"
}

使用manifest_asset twig函数,您将传递assets/css/app.css,但这不会正确映射。为了修复此问题,您可以在config.yml中添加前缀。

zenstruck_asset_manifest:
    manifest_file: "%kernel.root_dir%/../web/assets/build/manifest.json"
    prefix:
        source: assets/
        destination: assets/build/

现在,assets/css/app.css将正确映射到assets/build/css/app-8f07f52635.css

完整的默认配置

zenstruck_asset_manifest:
    manifest_file: ~
    prefix:
        source: ~
        destination: ~