iulyanp / elixir-bundle
Requires
- php: ^5.6|^7.0
- symfony/symfony: ^2.7|^3.1
- twig/twig: ~1.0
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is not auto-updated.
Last update: 2021-07-22 09:34:59 UTC
README
ElixirBundle
ElixirBundle
是一个 Symfony 扩展,用于集成 Laravel Elixir。该扩展的目的是提供 elixr() twig 函数。这正是与 Laravel blade 模板系统相同的 elixir() 函数。
要求
在开始安装此扩展之前,您必须首先确保您的机器上已安装 Node.js。接下来,您需要安装 NPM 并将 Gulp 作为全局 NPM 软件包拉入。
安装
步骤 1:使用 composer 需求扩展
打开您的终端并运行以下命令之一以将扩展下载到您的 vendor 目录中。
如果您已全局安装了 composer,则可以运行
$ composer require iulyanp/elixir-bundle
否则您可以这样做
$ php composer.phar require iulyanp/elixir-bundle
步骤 2:在您的 AppKernel 类中注册扩展
在您的项目 app/AppKernel.php 文件中注册扩展
<?php
/** app/AppKernel.php */
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Iulyanp\ElixirBundle\IulyanpElixirBundle(),
);
}
}
步骤 3:配置扩展
为了使 elixir 知道您存储资产文件的位置,您应该配置以下内容
iulyanp_elixir:
assets_dir: 'app/Resources/assets'
web_dir: '%kernel.root_dir%/../web'
build_dir: 'build'
assets_dir
参数是您放置资产文件的相对路径。 web_dir
参数是存储生成的资产的相对路径。**例如,在我们的案例中,css 文件将存储在 '%kernel.root_dir%/../web/css/'
文件夹中。 build_dir
是 web_dir 中的文件夹,其中将存储资产版本。**例如,在我们的案例中,css 版本化的资产将存储在 "%kernel.root_dir%/../web/build/css/"
文件夹中。
注意!
web_dir
参数是唯一 必需 参数。如果未设置,则其他两个将使用默认值。
步骤 4:生成 package.json 和 gulpfile 文件
如果您已安装 Node.js
、npm
和 Gulp
,则应准备就绪以运行
$ php bin/console elixir:init
将生成基础 package.json
和 gulpfile.js
文件到您的项目根目录。然后运行 npm install
以安装所有依赖项和 laravel-elixir。
用法
现在您可以使用 elixir() 函数来版本化文件,如下所示
<link rel="stylesheet" type="text/css" href="{{ elixir('css/app.css') }}" />
包资源
默认情况下,包假设您会保持资产文件在 app/Resources/public
文件夹下。如果您在包级别有资产文件(例如,src/AppBundle/Resources/public/sass/test.scss),您可以非常简单地使用 elixir 编译它们。在我们的例子中,您将得到如下内容
// Set up Elixir tasks.
elixir(function(mix) {
mix.sass('app.scss')
.version(['web/css/app.css']);
mix.sass(
'test.scss', // the sass file you want to compile
'web/css/test', // the path where you want the compiled css file to be saved
'src/AppBundle/Resources/public/sass' // the path where your sass files are kept inside a bundle
);
});
test.css
文件将被保存到 web/css/test/test.css
。
许可协议
ElixirBundle 是开源软件,根据 MIT 许可协议 许可。