通知生成器
安装
安装
运行 Filament 有一些特定的要求:
- PHP 8.0+
- Laravel v8.0+
- Livewire v2.0+
通知生成器已经在后台面板 2.x中预装了。不过如果你要在其他应用中使用,你还是需要按照以下安装指示操作。
首先, 使用 Composer 安装通知包:
composer require filament/notifications:"^2.0"新的 Laravel 项目
要快速使用通知生成器,你可以使用这些命令安装 Livewire,Alpine.js、TailwindCSS 和 Livewire:
php artisan notifications:installnpm installnpm run dev这些命令会粗暴地重写覆盖你现有的文件,因此我们只推荐在新项目中使用这种方法。
现在你可以开始发送通知了!

现有 Laravel 项目
此包使用以下依赖:
可以通过 NPM 进行安装:
npm install alpinejs @awcodes/alpine-floating-ui postcss tailwindcss --save-dev配置 Tailwind CSS
要完成Tailwind安装,你必须在项目的根目录中创建 tailwind.config.js 文件。最简单的做法是运行 npx tailwindcss init 命令。
在 tailwind.config.js 中,注册你安装好的插件,然后添加通知生成器要使用的自定义颜色:
import colors from 'tailwindcss/colors' export default {    content: [        './resources/**/*.blade.php',        './vendor/filament/**/*.blade.php',    ],    theme: {        extend: {            colors: {                danger: colors.rose,                primary: colors.blue,                success: colors.green,                warning: colors.yellow,            },        },    },}当然,你也可以指定你自己定义的 primary、success、warning 及 danger 颜色,这会替换掉原有的颜色。
打包资源
新的 Laravel 项目默认使用 Vite 打包资源。不过,你仍然可以使用 Laravel Mix。
Vite
如果你使用的是 Vite,你应该通过NPM手动安装 Autoprefixer:
npm install autoprefixer --save-dev在项目的根目录中新建 postcss.config.js 文件,以插件形式注册 Tailwind CSS 和 Autoprefixer:
export default {    plugins: {        tailwindcss: {},        autoprefixer: {},    },}你也可以更新 vite.config.js,使页面在 Livewire 组件或自定义表格字段更新后自动刷新:
import { defineConfig } from 'vite';import laravel, { refreshPaths } from 'laravel-vite-plugin'; export default defineConfig({    plugins: [        laravel({            input: [                'resources/css/app.css',                'resources/js/app.js',            ],            refresh: [                ...refreshPaths,                'app/Http/Livewire/**',            ],        }),    ],});Laravel Mix
在 webpack.mix.js 文件中,以 PostCSS 插件的形式注册 Tailwind CSS:
const mix = require('laravel-mix') mix.js('resources/js/app.js', 'public/js')    .postCss('resources/css/app.css', 'public/css', [        require('tailwindcss'),    ])配置样式
在 /resources/css/app.css 文件中,引入 TailwindCSS:
@tailwind base;@tailwind components;@tailwind utilities;配置脚本
在 /resources/js/app.js文件中,导入 Alpine.js、filament/notifications 插件并注册:
import Alpine from 'alpinejs'import AlpineFloatingUI from '@awcodes/alpine-floating-ui'import NotificationsAlpinePlugin from '../../vendor/filament/notifications/dist/module.esm' Alpine.plugin(AlpineFloatingUI)Alpine.plugin(NotificationsAlpinePlugin) window.Alpine = Alpine Alpine.start()编译资源
使用 npm run dev 命令编译新的 CSS 和 JS 资源:
配置布局
最后,为 Livewire 组件新建 resources/views/layouts/app.blade.php 布局文件:
<!DOCTYPE html><html lang="{{ str_replace('_', '-', app()->getLocale()) }}">    <head>        <meta charset="utf-8">         <meta name="application-name" content="{{ config('app.name') }}">        <meta name="csrf-token" content="{{ csrf_token() }}">        <meta name="viewport" content="width=device-width, initial-scale=1">         <title>{{ config('app.name') }}</title>         <style>[x-cloak] { display: none !important; }</style>        @vite(['resources/css/app.css', 'resources/js/app.js'])        @livewireStyles        @livewireScripts        @stack('scripts')    </head>     <body class="antialiased">        {{ $slot }}         @livewire('notifications')    </body></html>现在你可以发送通知了!
发布配置文件
如有需要时,你可以使用这个命令发布此扩展包的配置文件:
php artisan vendor:publish --tag=notifications-config升级
要将该软件包升级到最新版本,你必须运行:
composer updatephp artisan filament:upgrade我们推荐将 filament:upgrade 添加到 composer.json 文件的 post-update-cmd 中,使之自动运行:
"post-update-cmd": [    // ...    "@php artisan filament:upgrade"],Still need help? Join our Discord community or open a GitHub discussion