竞选局/关键Laravel路由

自动为Laravel项目中的静态路由创建和链接关键CSS

v1.2.0 2022-04-13 14:28 UTC

This package is auto-updated.

Last update: 2024-09-13 19:35:39 UTC


README

自动为静态路由创建和链接关键CSS。

支持Laravel 7.*

安装

通过composer要求该包

composer require campaigningbureau/critical-laravel-routes

该包会被Laravel自动发现。

用法

  1. 所有应该使用关键CSS的静态路由都需要命名,并将critical属性设置为true

    Route::get('/', ['as' => 'index', 'uses' => 'ViewController@index', 'critical' => true]);
  2. 生成包含所有关键路由的JSON文件

    php artisan critical-urls:generate
  3. 生成的文件需要在webpack.mix.js中导入,并在创建关键CSS时将其设置为urls

    // urls that need to be passed for critical css
    const criticalUrls = require('./critical-routes.json');
    ...
    mix.criticalCss({
        enabled: mix.inProduction(),
        paths: {
            base: 'http://your-website.com',
            templates: 'public/css/'
        },
        urls: criticalUrls,
        options: {
            minify: true,
        },
    });

    在生成CSS时,为每个定义的路由创建一个CSS文件并保存。

  4. 自动将关键CSS文件的内容(如果存在)导入blade模板中作为内联样式

    {!! \CriticalLaravelRoutes::inlineCriticalCss() !!}
    

    或者,可以通过以下方式链接关键CSS文件:

    {!! \CriticalLaravelRoutes::linkCriticalCss() !!}
    

    这可以安全地用于每个现有路由,因此最好将其放在基本布局中。如果没有找到路由的关键CSS文件,则不显示任何内容。

配置

可以通过发布配置文件来更改配置

$ php artisan vendor:publish --provider="CampaigningBureau\CriticalLaravelRoutes\CriticalLaravelRoutesServiceProvider"

可以配置生成的JSON文件名称和关键CSS文件后缀。