brieucthomas / elixir-twig-extension
Laravel Elixir twig 扩展
v1.0.0
2016-12-06 11:38 UTC
Requires
- php: >=5.5.9
- twig/twig: ~1.28|~2.0
This package is not auto-updated.
Last update: 2024-09-20 20:41:42 UTC
README
Laravel Elixir 的 version
任务会将唯一的哈希值附加到文件名上,允许进行缓存清除。
elixir(function(mix) { mix.version("css/all.css"); });
例如,生成的文件名可能看起来像这样: all-16d570a7.css
。
在 Laravel 中,您可以使用视图中的 elixir()
函数来加载相应哈希的资产
<link rel="stylesheet" href="{{ elixir("css/all.css") }}">
这个 twig 扩展是 elixir()
函数的改编。
要求
您需要 PHP >= 5.5.9 来使用此库,但推荐使用最新的稳定版 PHP。
安装
使用 Composer 安装
composer require brieucthomas/elixir-twig-extension
这将编辑(或创建)您的 composer.json 文件并自动选择最新版本。
文档
注册扩展
use BrieucThomas\Twig\Extension\ElixirExtension; $elixir = new ElixirExtension( $publicDir, // the absolute public directory $buildDir, // the elixir build directory (default value is 'build') $manifestName // the manifest filename (default value is 'rev-manifest.json') ); $twig->addExtension($elixir);
将扩展注册为 Symfony 服务
# app/config/services.yml services: app.twig_elixir_extension: class: BrieucThomas\Twig\Extension\ElixirExtension arguments: ["%kernel.root_dir%/../web/"] public: false tags: - { name: twig.extension }
创建 gulpfile
以下是一个示例 gulpfile.js
,用于编译和版本化 app/Resources/js/app.js
脚本
// gulpfile.js const elixir = require('laravel-elixir'); elixir.config.assetsPath = 'app/Resources'; elixir.config.publicPath = 'web'; elixir.config.appPath = 'src'; elixir.config.viewPath = 'app/Resources/views'; elixir(function(mix) { // compile scripts to web/js/all.js (default output) mix.scripts(['app.js']); // version compiled scripts mix.version(['js/all.js']); });
使用扩展
<link rel="stylesheet" href="{{ elixir('css/all.css') }}"> <script src="{{ elixir('js/all.js') }}"></script>
您可以用 asset
twig 扩展包围,使您的应用程序更便携
<link rel="stylesheet" href="{{ asset(elixir('css/all.css')) }}"> <script src="{{ asset(elixir('js/all.js')) }}"></script>