interitty/assets-manager

带有Latte宏的资产管理器,帮助正确加载CSS/JS资源。

v1.0.4 2024-09-01 12:10 UTC

This package is auto-updated.

Last update: 2024-09-01 10:14:17 UTC


README

带有Latte宏的资产管理器,帮助正确加载CSS/JS资源。

在生产环境中,用于资源的缓存破坏很有用。在开发环境中,使用Browsersync时,资源将渲染其原始路径。

要求

安装

安装interitty/assets-manager的最佳方式是使用Composer

composer require interitty/assets-manager

然后在Nette配置文件中注册扩展

# app/config/config.neon
extensions:
    assetsManager: Interitty\AssetsManager\Nette\DI\AssetsManagerExtension

使用方法

宏可以在任何Latte模板中使用

{* app/presenters/templates/@layout.latte *}
<link rel="stylesheet" href="{asset css/asset.css}">
<script src="{asset js/asset.js}"></script>

它将路径添加到`$assetBasePath`前,并从修订版本清单中加载修订版本

<link rel="stylesheet" href="/assets/css/asset.aHR0cHM6Ly9nb28uZ2wvS1ZRNHpT.css}">
<script src="/assets/js/asset.aHR0cHM6Ly9nb28uZ2wveFZqZHM0.js"></script>

修订版本清单

修订版本清单是一个包含资源修订路径的JSON文件。

它可以通过gulp或其他类似工具的各种资源处理器生成。

修订版本清单在`$manifestPath`中搜索。

可以直接设置修订版本清单的路径

# app/config/config.neon
assetsManager:
    assetBasePath: /assets/
    manifestPath: %wwwDir%/assets/manifest.json

修订版本清单可能包含资产路径。

文件名中的资产版本

使用这种方法,每次更改文件都有不同的名称

示例修订版本清单

{
    "css/asset.css": "css/asset.aHR0cHM6Ly9nb28uZ2wvS1ZRNHpT.css",
    "js/asset.js": "js/asset.aHR0cHM6Ly9nb28uZ2wveFZqZHM0.js"
}

使用示例清单,代码{asset "js/asset.js"}生成:/assets/js/asset.aHR0cHM6Ly9nb28uZ2wveFZqZHM0.js路径。

配置

默认配置,可根据需要更改

# app/config/config.neon
assetsManager:
    assetBasePath: ''
    manifestPath: ''
    productionMode: %productionMode%
    wwwDir: %wwwDir%