hnhdigital-os/laravel-php-elixir

此包已被废弃且不再维护。没有建议的替代包。

提供基于PHP的Node.js Elixir的等效解决方案

v3.0.4 2019-03-08 01:01 UTC

This package is auto-updated.

Last update: 2020-02-08 04:29:46 UTC


README

__________.__          ___________.__  .__       .__        
\______   \  |__ ______\_   _____/|  | |__|__  __|__|______ 
 |     ___/  |  \\____ \|    __)_ |  | |  \  \/  /  \_  __ \
 |    |   |   Y  \  |_> >        \|  |_|  |>    <|  ||  | \/
 |____|   |___|  /   __/_______  /|____/__/__/\_ \__||__|   
               \/|__|          \/               \/          

提供Laravel框架预包装的基于Node.js的elixir的替代品。任务按照在配置文件中声明的顺序依次执行。您可以指定多个任务模块块。

Latest Stable Version Total Downloads Latest Unstable Version Built for Laravel License

Build Status StyleCI Test Coverage Issue Count Code Climate

此包由澳大利亚精品开发商H&H|Digital开发。访问我们的网站 hnh.digital

安装前要求

此包需要ext-inotify,可以通过以下方式安装:

$ pecl install inotify

您可能需要启用此扩展。您可以使用以下命令(可能不适用于您的特定操作系统设置)。

$ echo "extension=inotify.so" | sudo tee /etc/php/7.1/mods-available/inotify.ini && sudo ln -s /etc/php/7.1/mods-available/inotify.ini /etc/php/7.1/cli/conf.d/20-inotify.ini

安装

通过composer

$ composer require-dev bluora/laravel-php-elixir ~2.0

通过编辑config/app.php启用服务提供者

    'providers' => [
        ...
        Bluora\PhpElixir\ServiceProvider::class,
        ...
    ];

使用方法

使用默认配置文件(.elixir.yml)运行命令。

$ php artisan elixir

使用自定义配置文件运行命令

$ php artisan elixir --config=***

运行文件夹监视器以在文件更改时自动使用默认配置文件(.elixir.yml)运行elixir。

$ php artisan elixir:watch

运行文件夹监视器以在文件更改时自动使用自定义配置文件运行elixir

$ php artisan elixir:watch --config=***

配置

此包的配置在位于您的基本目录的'.elixir.yml'或'vendor/bluora/laravel-php-elixir/src/.elixir.yml.example'中完成。

首先在配置文件中声明任务名称和类名称(这些模块默认安装)。

modules:
    combine:
        - Bluora\PhpElixirCombine\CombineModule
    copy:
        - Bluora\PhpElixirCopy\CopyModule
    empty:
        - Bluora\PhpElixirEmpty\EmptyModule
    exec:
        - Bluora\PhpElixirExec\ExecModule
    replace:
        - Bluora\PhpElixirReplace\ReplaceModule
    revision:
        - Bluora\PhpElixirRevision\RevisionModule
    sass:
        - Bluora\PhpElixirSass\SassModule

使用YAML文件的第一级列出任务,或者如果您需要在配置文件的不同位置声明多个任务模块,只需在任务前加上一个数字(任务的唯一标识)和井号。例如

copy:
    xxx: yyy
1#copy:
    zzz: aaa

如果您正在测试php-elixir,您可以通过在任务前加上感叹号来停止任务的运行。

!copy:
    xxx: yyy

选项

  • dry-run - 运行脚本但不执行任何操作。
  • verbose - 提供更多反馈,说明正在发生什么。
options:
    dry-run: true
    verbose: true

路径

路径允许您声明可以在其他任务中使用的路径常量。

paths:
    PATH_SASS: resources/assets/sass
    PATH_BOWER: bower_components
    PATH_PUBLIC_ASSETS: public/assets
    PATH_PUBLIC_BUILD: public/build
    PATH_RESOURCES: resources
    PATH_RES_ASSET_IMAGES: resources/assets/images

监视

监视配置项仅用于elixir:watch控制台命令。

watch:
    - PATH_RESOURCES?filter=!php

删除列出的路径中的所有文件和文件夹。

empty:
    - PATH_PUBLIC_ASSETS
    - PATH_PUBLIC_BUILD

Exec

执行指定的文件和参数。

exec:
    php: artisan inspire

SASS

处理并编译 *.scss 文件,并将其输出到指定的路径。

格式为:{源文件路径}: {目标文件路径}

sass:
    PATH_SASS + /app.scss: PATH_PUBLIC_ASSETS + /vendor/app.css

Combine

获取一个或多个文件的 内容并将它们合并到指定的文件中。

源文件夹可以通过单级或多级查找指定,并且可以根据扩展名过滤文件。

{DESTINATION_FILE}:
    - {SOURCE_FILE}
    - {SOURCE_FOLDER}
combine:
    PATH_PUBLIC_ASSETS + /vendor/jquery-combined.min.js:
        - PATH_PUBLIC_ASSETS + /vendor/jquery/jquery.min.js
        - PATH_PUBLIC_ASSETS + /vendor/jquery-ui/jquery-ui.min.js
    PATH_PUBLIC_ASSETS + /vendor/combined.js:
        - PATH_PUBLIC_ASSETS + /vendor/**?filter=js

Copy

从文件路径或文件夹路径复制文件到指定的文件夹或文件名。

可以配置文件夹路径来获取顶级目录使用 '/*',或者使用 '/**' 获取路径中的所有文件和文件夹。

可以使用标准的查询字符串格式添加更多配置。

  • filter - 以逗号分隔的扩展名列表。
copy:
    PATH_BOWER + /jquery/dist/jquery.min.js: PATH_PUBLIC_ASSETS + /vendor/jquery/
    PATH_RES_ASSET_IMAGES + /**?filter=png: PATH_PUBLIC_ASSETS + /images/

Replace

可以在文件或文件夹路径中替换特定的文本。

replace:
    PATH_PUBLIC_ASSETS + /vendor/vendor_name/styles.css:
        - ../img
        - vendor/vendor_name

Revision

为指定文件夹位置的文件提供版本控制。

可用的选项

  • hash_length - 默认值是 8。
  • minify - 默认值为 false。
  • php_manifest - 生成 json 版本文件的 php 等价物。
{SOURCE_FOLDER}:
    - {DESTINATION_FOLDER}
    - {REVISION_MANIFEST_FILE}
    - {QUERY_STRING_OPTIONS}
revision:
    PATH_PUBLIC_ASSETS:
        - PATH_PUBLIC_BUILD
        - PATH_PUBLIC_BUILD + /rev-manifest.json
        - hash_length=12&minify=true&php_manifest=true

Contributing

请参阅 CONTRIBUTING 了解详细信息。

Credits

License

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。