通过 Nebula 扩展包构建基于 Laravel + Alpine + Tailwind 的后台管理系统


简介

Nebula 是一个最小化的、易于上手的 Laravel 后台管理扩展包,当然了,Laravel 后台管理扩展包现如今已如过江之鲫,可谓俯拾即是,比较流行的免费扩展包有 VoyagerLaravel Admin 等。

Nebula 与它们的不同之处在于前端使用新兴的 Alpine.js + Tailwind CSS 框架构建,和大多数后台管理扩展包一致的是,Nebula 通过提供功能强大的 CLI、指标统计和表单构建功能,让开发者可以专注于业务逻辑,减少构建重复的 CRUD 模板代码。

功能特性

Nebula 目前支持以下特性:

  • CLI 脚手架
  • CRUD 资源模板代码
  • 管理后台
  • 翻译
  • 表单字段
  • 过滤器
  • 指标统计
  • 自定义

安装配置

要使用 Nebula 构建后台管理系统,需要在项目根目录下先通过 Composer 安装这个扩展包:

composer require larsklopstra/nebula

安装完成后,通过如下 Artisan 命令发布它的前端资源和配置文件:

php artisan nebula:install

这样一来,就可以通过 /nebula 路由访问基于 Nebula 驱动的后台管理页面了:

-w1001

使用 Sail 作为开发环境

需要注意的是 Nebula 扩展包现在尚不支持 PHP 8.0,如果使用的是 Sail 作为本地开发环境(默认 PHP 版本是 8.0),则需要将 PHP 版本切换到 7.4,为了便于对 Sail 进行自定义,可以发布其 Dockerfile 文件到项目根目录下:

sail artisan sail:publish

-w536

然后将 docker-compose.yml 文件中应用容器 PHP 版本调整为 7.4:

services:
    redis.test:
        build:
            context: ./docker/7.4
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
                CHANGE_SOURCE: 'true'
        image: sail-7.4/app

如果因为网络问题导致 Docker 镜像构建过程中软件源下载/更新慢,可以参考 Laradock 修改镜像源的方式修改 Sail 的 Dockerfile 构建指令,然后在容器构建参数中通过 CHANGE_SOURCE 配置是否需要修改镜像源:

ARG CHANGE_SOURCE=false
RUN if [ ${CHANGE_SOURCE} = true ]; then \
    sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list \
;fi

重新构建 & 启动应用容器服务:

sail build --no-cache
sail down --remove-orphans
sail up -d

接下来,运行如下命令在 Sail 中通过 Composer 安装 Nebula 扩展包:

APP_SERVICE=redis.test sail composer require larsklopstra/nebula

如果因为网络问题导致 Composer 下载慢,可以为当前项目配置镜像地址进行加速。

由于修改了默认的应用名称 laravel.test,所以显式指定了 APP_SERVICE 值为 redis.test,否则会报错(后续所有 sail 命令都要显式指定该配置值)。

再通过如下命令运行 Sail 中的 Artisan 命令:

APP_SERVICE=redis.test sail artisan nebula:install

-w952

如果你觉得每次指定 APP_SERVICE=redis.test 太麻烦,可以通过 export 命令将其设置到系统环境变量:

export APP_SERVICE=redis.test

这样,就可以直接运行 sail 命令了:

如果你想要调整管理后台的默认路由,可以修改配置文件 config/nebula.php 中的 prefix 配置项:

'prefix' => '/admin',

这样就可以通过 /admin 访问应用的管理后台了:

-w998

快速上手

更多关于 Nebula 扩展包构建的管理后台功能特性的使用细节,请参考 Nebula 官方文档,这里就不一一展开了。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: Dcat Admin —— 一款颜值极高的后台系统构建工具,简单高效,开箱即用

>> 下一篇: Laravel 5 表单中如何集成使用 Google reCAPTCHA 验证码