electrotiti / tlassets-bundle
Symfony 资产管理使用 Gulp
Requires
- php: >=5.3.3
- phpunit/phpunit: 3.7.*
- symfony/symfony: 2.5.*
- twig/extensions: ~1.0
This package is not auto-updated.
Last update: 2024-09-24 04:40:29 UTC
README
TlAssetsBundle 是 Assetic 的替代品,它使用 NodeJS、GULP 和自定义 Twig 标签在 Symfony2 项目中构建资产。
警告:此包处于开发阶段,请不要在生产环境中使用。
它是如何工作的?
1: 在您的 Twig 模板中,使用 "style" 和 "js" 标签来指定资产源路径和可选的过滤器
2: 解析器会找到所有包含这些标签的 Twig 模板,并在缓存中创建一个 JSON 缓冲文件,该文件描述了源路径的位置、目标文件名和其他一些选项
3: 编译器会读取之前创建的缓冲文件,并使用 GULP 编译最终的资产
这两个步骤(而不是像 Assetic 那样一个步骤)的目标是仅在您的资产定义发生变化时解析您的 Twig 模板,并且仅在您修改资产文件的内容时编译您的资产。
先决条件
首先,您必须在您的环境中安装以下工具
- Node JS
- NPM
安装
Gulp 和依赖项
为了安装 Gulp 和其依赖项,执行以下命令
php app/console tlassets:gulp:install
Twig 标签
以下是在您的 Twig 中可以使用的一些标签示例
{% style "@MyCustomBundle/Resources/public/less/" filter="less" %} <link rel="stylesheet" href="{{ asset(asset_url) }}" type="text/css" /> {% endstyle %} {% js "@MyCustomBundle/Resources/public/js/" %} <script type="application/javascript" src="{{ asset(asset_url) }}" /> {% endjs %}
安装您的资产
php app/console assets:install
此命令(从 Symfony)将您的资产从 "src/" 文件夹复制到 "web/bundles/" 文件夹
快速资产编译
为了快速编译您的资产,您只需执行此操作
php app/console assets:dump
此命令执行 tlassets:flush、tlassets:parse 和 tlassets:compile
逐步生成您的资产
或者(这就是为什么这个包与 Assetic 不同),资产构建的每个任务都可以单独执行
清除之前的编译
php app/console tlassets:flush
此命令删除缓存和之前生成的资产,以便有一个干净的环境
解析 Twig 模板
php app/console tlassets:parse
此命令解析您的 Twig 模板,并在缓存目录中创建一个 JSON 文件,该文件将被 GULP 使用
编译资产
php app/console tlassets:compile
此命令检索之前由解析命令创建的所有文件缓冲区,并编译最终的资产文件