antlur/laravel-static-export
将您的laravel网站导出为静态文件
v0.1.2
2024-02-24 17:45 UTC
Requires
- php: ^8.1
- laravel/framework: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
在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)。有关更多信息,请参阅许可证文件。