crazybooot/laravel-constants-to-js

此包最新版本(1.0.2)没有可用的许可信息。

将php类常量映射到js

1.0.2 2019-06-20 07:02 UTC

This package is auto-updated.

Last update: 2024-09-20 19:09:35 UTC


README

包含用于生成JavaScript ES6或UMD模块的artisan命令

安装

您可以通过composer安装此包

composer require crazybooot/laravel-constants-to-js

发布配置

php artisan vendor:publish --provider="Crazybooot\ConstantsToJs\Providers\ServiceProvider" --tag=config

使用方法

将生成的JavaScript对象层次结构添加到config\constants-to-js.php配置文件中的constants部分,作为关联数组。

要包含指定类的常量,使用class作为键,类名作为值

return [
    'constants' => [
        'user' => [
            'type' => [
                'class' => App\User::class,
            ],
        ],
    ],
];

要包含配置文件中的值,使用config作为键,字符串包含到配置文件的路径作为值

return [
    'constants' => [
        'queue' => [
            'connections' => [
                'config' => 'queue.connections',
            ],
        ],
    ],
];

包括类常量支持使用starts_with选项按常量名称过滤

return [
    'constants' => [
        'user' => [
            'type'   => [
                'class'       => App\User::class,
                'starts_with' => 'TYPE_',
            ],
            'status' => [
                'class'       => App\User::class,
                'starts_with' => 'STATUS_',  
            ],
        ],
    ],
];

要使用transform_keytransform_value选项数组对键和值进行一些转换,其中每个键都是一个将被应用到的函数,其值是一个数组,包含传递给函数的额外参数:作为值

return [
    'constants' => [
        'user' => [
            'type'   => [
                'class'       => App\User::class,
                'transform_key' => [
                    'strtoupper' => [],
                ]
            ],
        ],
        'queue' => [
            'connections' => [
                'config' => 'queue.connections',
                'transform_value' => [
                    'array_get'  => ['driver'],
                    'title_case' => []
                ],
            ],
        ],
    ],
];

要更改目标路径和生成的JavaScript文件名,使用target_path配置选项

return [
    'target_path' => resource_path('assets/js/constants.js'),
];

配置完成后,运行以下命令生成结果JavaScript文件

php artisan constants:js

许可

MIT许可(MIT)。请参阅许可文件获取更多信息。