antlur / capo-starter
v0.6
2023-07-31 07:31 UTC
Requires
- capocode/framework: ^0.9.1
README
正在施工中,可能会随时更改。
Capo 的目标是利用 Laravel 的强大功能,同时结合现代 JavaScript 框架(如 Next.js 或 Nuxt.js)的简单性,轻松构建网站。
Capo 可以作为标准服务器端应用程序或作为静态网站生成器运行。
入门指南
composer create-project capocode/starter [name] npm i npm run dev composer run build
路由
路由可以通过两种方式实现
- 您可以使用
routes.php文件来定义路由和控制器 Laravel 文档。 - 您可以使用
pages目录来定义路由和页面,使用 Laravel Folio。
/pages ├── index.blade.php ├── about.blade.php ├── about (nested index also works) │ └── index.blade.php
静态网站生成时的动态数据
在生成静态网站时,您可以使用 ExportPaths 属性来定义应生成哪些路由。这在您需要为动态数据生成静态页面时非常有用。例如,如果您有一个博客,并希望为每篇博客文章生成静态页面,您可以使用 ExportPaths 属性来定义应生成哪些路由。其余的逻辑可以像处理普通 Laravel 应用程序一样处理。
// routes.php Route::get('/blog/{post}', [BlogController::class, 'show']); // app/Http/Controllers/BlogController.php use Capo\Attributes\ExportPaths; class BlogController { #[ExportPaths(BlogPostPaths::class)] public function show(string $name) {} } class BlogPostPaths implements \Capo\Services\Export\Interfaces\ExportPaths { public function paths(): array { return [ '/blog/first-post', '/blog/second-post', ]; } }