Laravel UI 工具和预设。

v4.0.0 2022-07-25 10:21 UTC

README

Total Downloads Latest Stable Version License

简介

虽然 Laravel 没有规定您使用哪种 JavaScript 或 CSS 预处理器,但它提供了一个基于 BootstrapReact 和 / 或 Vue 的基本起点,这将有助于许多应用程序。默认情况下,Laravel 使用 NPM 安装这两个前端包。

此旧版包是在 Bootstrap CSS 框架上构建的一个非常简单的认证框架。虽然它仍然与 Laravel 的最新版本兼容,但您应考虑为新的项目使用 Laravel Breeze。或者,对于更健壮的解决方案,考虑 Laravel Jetstream

官方文档

支持的版本

只有 Laravel UI 的最新主要版本才会收到错误修复。下表列出了兼容的 Laravel 版本

安装

Laravel 提供的 Bootstrap 和 Vue 框架位于 laravel/ui Composer 包中,可以使用 Composer 安装

composer require laravel/ui

安装 laravel/ui 包后,您可以使用 ui Artisan 命令安装前端框架

// Generate basic scaffolding...
php artisan ui bootstrap
php artisan ui vue
php artisan ui react

// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
php artisan ui vue --auth
php artisan ui react --auth

CSS

Laravel 官方支持 Vite,这是一个提供极快开发环境并将代码打包用于生产的现代前端构建工具。Vite 支持多种 CSS 预处理器语言,包括 SASS 和 Less,它们是 CSS 的扩展,添加了变量、混合等强大功能,使 CSS 开发变得更加愉快。在本文档中,我们将简要讨论 CSS 编译,但有关编译 SASS 或 Less 的更多信息,请参阅完整的 Vite 文档

JavaScript

Laravel 不要求您使用特定的 JavaScript 框架或库来构建应用程序。实际上,您甚至不需要使用 JavaScript。但是,Laravel 包含一些基本框架,使您能够更容易地开始使用 Vue 库编写现代 JavaScript。Vue 提供了用于使用组件构建强大 JavaScript 应用程序的 expressive API。与 CSS 一样,我们可以使用 Vite 将 JavaScript 组件编译成单个、浏览器就绪的 JavaScript 文件。

编写 CSS

安装 laravel/ui Composer 包并 生成前端框架 后,Laravel 的 package.json 文件将包含 bootstrap 包,以帮助您开始使用 Bootstrap 构建应用程序的前端原型。但是,根据需要,您可以从 package.json 文件中添加或删除包。您不需要使用 Bootstrap 框架来构建 Laravel 应用程序 - 它作为良好的起点提供给那些选择使用它的人。

在编译 CSS 之前,使用 Node 包管理器 (NPM) 安装您项目的前端依赖项。

npm install

使用 npm install 安装依赖后,您可以使用 Vite 编译您的 SASS 文件为纯 CSS。运行 npm run dev 命令会处理您的 vite.config.js 文件中的指令。通常,编译后的 CSS 会放在 public/build/assets 目录下。

npm run dev

随 Laravel 前端脚手架一起提供的 vite.config.js 文件会编译 resources/sass/app.scss SASS 文件。这个 app.scss 文件导入了一个 SASS 变量文件并加载了 Bootstrap,这为大多数应用程序提供了一个良好的起点。您可以随意自定义 app.scss 文件,或者通过 配置 Vite 使用完全不同的预处理器。

编写 JavaScript

应用程序所需的 JavaScript 依赖项均可在项目根目录下的 package.json 文件中找到。此文件类似于 composer.json 文件,但它指定了 JavaScript 依赖项而不是 PHP 依赖项。您可以使用 Node 包管理器 (NPM) 安装这些依赖项。

npm install

默认情况下,Laravel 的 package.json 文件包含一些包,如 lodashaxios,以帮助您开始构建 JavaScript 应用程序。您可以根据自己的应用程序需要,随意添加或删除 package.json 文件中的包。

安装完包后,您可以使用 npm run dev 命令 编译您的资产。Vite 是一个现代 JavaScript 应用的模块打包器。运行 npm run dev 命令时,Vite 会执行 vite.config.js 文件中的指令。

npm run dev

默认情况下,Laravel 的 vite.config.js 文件会编译您的 SASS 和 resources/js/app.js 文件。在 app.js 文件中,您可以注册 Vue 组件或配置自己的 JavaScript 应用程序(如果您喜欢不同的框架)。编译后的 JavaScript 通常会放在 public/build/assets 目录下。

app.js 文件将加载 resources/js/bootstrap.js 文件,该文件会启动并配置 Vue、Axios、jQuery 以及所有其他 JavaScript 依赖项。如果您有其他 JavaScript 依赖项需要配置,您可以在该文件中完成。

编写 Vue 组件

当使用 laravel/ui 包来搭建前端时,一个 ExampleComponent.vue Vue 组件将被放置在 resources/js/components 目录中。该 ExampleComponent.vue 文件是一个 单文件 Vue 组件 的示例,它在其同一文件中定义了 JavaScript 和 HTML 模板。单文件组件为构建驱动 JavaScript 的应用程序提供了一个非常方便的方法。示例组件在 app.js 文件中被注册。

import ExampleComponent from './components/ExampleComponent.vue';
Vue.component('example-component', ExampleComponent);

要使用组件,您可以将它放入您的 HTML 模板之一中。例如,在运行了 php artisan ui vue --auth Artisan 命令以搭建应用程序的认证和注册界面后,您可以将组件放入 home.blade.php Blade 模板中。

@extends('layouts.app')

@section('content')
    <example-component></example-component>
@endsection

请记住,每次修改 Vue 组件时,都应该运行 npm run dev 命令。或者,您可以运行 npm run watch 命令来监视组件的修改,并在它们被修改时自动重新编译。

如果您想了解更多关于编写 Vue 组件的信息,您应该阅读 Vue 文档,它提供了关于整个 Vue 框架的详尽、易于阅读的概述。

使用 React

如果您想使用React构建JavaScript应用程序,Laravel使得将Vue脚手架替换为React脚手架变得非常简单

composer require laravel/ui

// Generate basic scaffolding...
php artisan ui react

// Generate login / registration scaffolding...
php artisan ui react --auth

添加预设

预设是“可宏化的”,这允许您在运行时向UiCommand类添加额外的功能。例如,以下代码向UiCommand类添加了一个nextjs方法。通常,您应该在服务提供者中声明预设宏

use Laravel\Ui\UiCommand;

UiCommand::macro('nextjs', function (UiCommand $command) {
    // Scaffold your frontend...
});

然后,您可以通过ui命令调用新的预设

php artisan ui nextjs

贡献

感谢您考虑为UI做出贡献!贡献指南可以在Laravel文档中找到。

行为准则

为了确保Laravel社区对所有成员都友好,请查阅并遵守行为准则

安全漏洞

请查阅我们关于如何报告安全漏洞的安全策略

许可

Laravel UI是开源软件,采用MIT许可