mrthito/jetstrap

一个用于将Laravel 8中由Jetstream生成的TailwindCSS资源轻松切换到Bootstrap 4或5的Laravel包。

安装: 10

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 0

分支: 120

开放问题: 0

语言:Vue

3 2023-06-10 08:20 UTC

This package is auto-updated.

Last update: 2024-09-10 11:17:23 UTC


README

Latest Stable Version Total Downloads License

描述

Jetstrap是一个专注于Laravel应用中安装的Jetstream / Breeze包的VIEW层面的轻量级Laravel 8包,因此在进行交换时,您的项目的ActionMODELCONTROLLERComponentAction类仍然由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 mrthito/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 MrThito\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 MrThito\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 问题,所以我决定将 TailwindCSS 包含在 Jetstrap 包中。

在继续之前,请通过官方文档 文档 了解 Breeze。

Jetstrap 不会影响 Breeze 的模型/控制器部分,仅影响视图。

交换Breeze资源

要在 breeze 配置的 Laravel 中交换 tailwind 资源为 bootstrap,只需运行以下命令:

php artisan jetstrap:swap breeze

交换Breeze inertia资源

Laravel Breeze 现在提供了 inertia 框架的占位符,同样 Jetstrap 也提供了。要为运行在 Breeze 和 inertia 上的 Laravel 项目使用 Bootstrap 框架,只需运行以下代码:

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 许可