nascent-africa / jetstrap
一个用于将Laravel 8中由Laravel Jetstream生成的TailwindCSS资源轻松切换到Bootstrap 4或5的Laravel包。
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- inertiajs/inertia-laravel: ^0.3
- laravel/breeze: ^1.1
- laravel/jetstream: ^2.3
- orchestra/testbench: ^6.0|^7.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-08-28 14:51:48 UTC
README
描述
Jetstrap是一个轻量级的laravel 8包,专注于您Laravel应用中安装的Jetstream/Breeze包的VIEW
方面,因此当进行交换时,您的项目的ACTION
、MODEL
、CONTROLLER
、Component
和ACTION
类仍由Laravel开发团队100%处理,没有任何额外的复杂性层。
目录
安装
安装Jetstream
您可以使用Composer将Jetstream安装到您的新Laravel项目中
composer require laravel/jetstream
如果您选择通过Composer安装Jetstream,应运行jetstream:install Artisan命令。此命令接受您偏好的堆栈名称(Livewire或Inertia)。强烈建议在开始Jetstream项目之前阅读Livewire或Inertia的整个文档。此外,您可以使用--teams选项启用团队支持
使用Livewire安装Jetstream
php artisan jetstream:install livewire --teams
或者,使用Inertia安装Jetstream
php artisan jetstream:install inertia --teams
安装Jetstrap
使用Composer将Jetstrap作为开发依赖项安装到您的Laravel项目中
composer require nascent-africa/jetstrap --dev
无论您如何安装Jetstream,Jetstrap命令与Jetstream非常相似,因为它接受您要交换的堆栈名称(Livewire或Inertia)。
在执行交换之前,您强烈建议安装和配置Laravel Jetstream。
在开始Jetstrap项目之前,强烈建议您阅读Jetstream的整个文档。此外,您可以使用--teams
选项像在Jetstream中一样交换团队资源
php artisan jetstrap:swap livewire or php artisan jetstrap:swap livewire --teams php artisan jetstrap:swap inertia --teams
这将发布覆盖以启用类似于旧时光的Bootstrap!
完成安装
安装Jetstrap并交换Jetstream资源后,请从package.json中删除tailwindCSS及其依赖项(如果有),然后安装和构建您的NPM依赖项并迁移您的数据库
npm install && npm run dev
php artisan migrate
额外功能
分页
还应注意,Laravel 8仍然包含使用Bootstrap CSS构建的分页视图。要使用这些视图而不是默认的Tailwind视图,您可以在AppServiceProvider中调用paginator的useBootstrap方法
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Pagination\Paginator; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { Paginator::useBootstrap(); } }
预设
预设是使用bootstrap构建的第三方自定义模板。我们考虑过,你使用Laravel或Laravel Jetstream提供的默认模板的可能性有多大。
假设您在运行任何类型的前端代码之前就已经决定了要走的路,因此如果您想使用CoreUi或AdminLte预设,则应在第一次运行任何swap
命令时在服务提供器中指定选择(JetstrapFacade::useCoreUi3()
或JetstrapFacade::useAdminLte3()
)。
如果您在运行交换命令后改变主意并决定使用预设,那么再次运行jetstrap:swap
命令。
核心UI
Core Ui 允许您节省数千小时的宝贵时间,因为它提供了您创建现代、美观和响应式应用程序所需的一切,如其在网站所述。
请访问 CoreUI 的文档以获取更多关于如何使用的详细信息。
要使用 Core Ui 预设,只需在您的 AppServiceProvider 中调用 useCoreUi3
方法。
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use NascentAfrica\Jetstrap\JetstrapFacade; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { JetstrapFacade::useCoreUi3(); } }
AdminLTE
AdminLTE 是一个开源的仪表板和控制面板主题。基于 Bootstrap 构建,AdminLTE 提供了一系列响应式、可重用和常用组件。
请访问 AdminLTE 的文档以获取更多关于如何使用的详细信息。
要使用 AdminLte 预设,只需在您的 AppServiceProvider 中调用 useAdminLte3
方法。
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use NascentAfrica\Jetstrap\JetstrapFacade; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { JetstrapFacade::useAdminLte3(); } }
Breeze
警告!!!:Jetstrap 资源已更新以与当前版本的 Breeze 兼容,但不支持与 inertia-react 资源交换。如果您能实现此功能,请随时提交 PR。
根据文档,“Breeze 为使用身份验证构建 Laravel 应用程序提供了一个最小和简单的起点”,但就我个人而言,我更愿意将其视为没有 Vue 和 Bootstrap 的 Laravel Ui。最近我在一个项目中工作,该项目未使用 Vue 或需要复杂的身份验证系统,因此 Breeze 看起来是个不错的选择,但再次遇到了 TailwindCSS 的问题,所以我决定将其包含在 Jetstrap 包中。
在继续之前,请通过官方文档文档熟悉 Breeze。
Jetstrap 不会影响 Breeze 的模型/控制器部分,仅影响视图。
交换Breeze资源
要在配置了 breeze 的 Laravel 中将 tailwind 资源交换为 bootstrap,只需运行
php artisan jetstrap:swap breeze
交换Breeze inertia资源
Laravel Breeze 现在包含 inertia 架构的占位符,Jetstrap 也是如此。要使用 Bootstrap 架构为在 Breeze 和 inertia 旁边运行的 Laravel 项目,只需运行以下代码
php artisan jetstrap:swap breeze-inertia
接下来,您需要清理您的 package.json
文件,以确保我们不会安装不必要的包。
然后运行
npm install && npm run dev
...然后您就完成了!
在交换 breeze 资产时,在您的服务提供者中使用 JetstrapFacade::useCoreUi3()
或 JetstrapFacade::useAdminLte3();
将按预期工作。
测试
使用以下命令运行测试
vendor/bin/phpunit
或
composer tests
许可证
Jetstrap 是一个开源软件,根据MIT 许可证授权。