electrotiti / tlassets-bundle

Symfony 资产管理使用 Gulp

安装: 11

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2014-10-07 21:46 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:40:29 UTC


README

Build Status

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

此命令检索之前由解析命令创建的所有文件缓冲区,并编译最终的资产文件