iulyanp/elixir-bundle

该软件包已被废弃,不再维护。作者建议使用iulyanp/elixir-bundle软件包。

Symfony扩展,用于集成Laravel Elixir

安装次数: 1,515

依赖者: 0

建议者: 0

安全: 0

星标: 5

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.3 2016-10-11 17:24 UTC

This package is not auto-updated.

Last update: 2021-07-22 09:34:59 UTC


README

Build Status StyleCI Scrutinizer Code Quality

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.jsnpmGulp,则应准备就绪以运行

$ php bin/console elixir:init

将生成基础 package.jsongulpfile.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 许可协议 许可。