antlur/laravel-static-export

将您的laravel网站导出为静态文件

v0.1.2 2024-02-24 17:45 UTC

This package is auto-updated.

Last update: 2024-09-24 18:58:52 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

在Netlify、Vercel或任何其他静态网站主机上托管您的Laravel网站。此包会从您的Laravel网站生成静态文件,几乎无需设置。提供便捷的属性以提供具有动态参数的路由。

安装

您可以通过composer安装此包

composer require antlur/laravel-static-export

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="static-export-config"

这是发布配置文件的内容

return [
    'output_path' => base_path('dist'),

    'clear_before_export' => true,
];

使用方法

php artisan export

静态网站生成时的动态数据

在生成静态网站时,您可以使用ExportPaths属性来定义哪些路由应该被生成。当您有需要生成静态页面的动态数据时,这非常有用。例如,如果您有一个博客并且您想为每个博客文章生成静态页面,您可以使用ExportPaths属性来定义应该生成哪些路由。其余的逻辑可以像正常Laravel应用程序一样处理。

// web.php
Route::get('/blog/{slug}', [BlogController::class, 'show']);

// app/Http/Controllers/BlogController.php
use Antlur\Export\Attributes\ExportPaths;

class BlogController
{
    // You can pass a class that implements PathProvider
    #[ExportPaths(BlogPostPaths::class)]
    public function show(string $name)
    {}

    // Or you can pass an array of paths directly
    #[ExportPaths(['/blog/first-post', '/blog/second-post'])]
    public function show(string $name)
    {}
}

// app/PathProviders/BlogPostPaths.php
class BlogPostPaths implements \Antlur\Export\Contracts\PathProvider
{
    public function paths(): array
    {
        return [
            '/blog/first-post',
            '/blog/second-post',
        ];
    }
}

测试

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全漏洞

有关如何报告安全漏洞的信息,请参阅我们的安全策略

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件