在 Laravel 模块 包中使用 Laravel Livewire,并为每个模块自动注册 Livewire 组件。
<p align="center"> <img src="https://dev.mhmiton.com/laravel-modules-livewire-example/public/assets/images/laravel-modules-livewire.png" alt="laravel-modules-livewire"> </p> <p align="left"> <strong>示例源代码:</strong><a href="https://github.com/mhmiton/laravel-modules-livewire-example" target="_blank">https://github.com/mhmiton/laravel-modules-livewire-example</a> </p> <p align="left"> <strong>在线示例演示:</strong> <a href="https://dev.mhmiton.com/laravel-modules-livewire-example" target="_blank">https://dev.mhmiton.com/laravel-modules-livewire-example</a> </p>通过 Composer 安装:
composer require mhmiton/laravel-modules-livewire
发布包的配置文件:
php artisan vendor:publish --tag=modules-livewire-config
命令格式:
php artisan module:make-livewire <组件> <模块> --view= --force --inline --stub= --custom
示例:
php artisan module:make-livewire Pages/AboutPage Core
php artisan module:make-livewire Pages\\AboutPage Core
php artisan module:make-livewire pages.about-page Core
如果类已存在,强制创建组件:
php artisan module:make-livewire Pages/AboutPage Core --force
输出:
组件已创建 🤙
类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
视图文件:Modules/Core/resources/views/livewire/pages/about-page.blade.php
标签:<livewire:core::pages.about-page />
内联组件:
php artisan module:make-livewire Core Pages/AboutPage --inline
输出:
组件已创建 🤙
类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
标签:<livewire:core::pages.about-page />
修改存根:
发布包的存根文件:
php artisan vendor:publish --tag=modules-livewire-stub
发布存根后,将创建这些文件。运行 make 命令时,将默认使用这些存根文件。
stubs/modules-livewire/livewire.inline.stub
stubs/modules-livewire/livewire.stub
stubs/modules-livewire/livewire.view.stub
你可以使用 (--stub) 选项为组件设置自定义存根目录。
php artisan module:make-livewire Core Pages/AboutPage --stub=about
php artisan module:make-livewire Core Pages/AboutPage --stub=modules-livewire/core
php artisan module:make-livewire Core Pages/AboutPage --stub=./
额外选项 (--view):
你可以使用 (--view) 选项为组件设置自定义视图路径。
示例:
php artisan module:make-livewire Pages/AboutPage Core --view=pages/about
php artisan module:make-livewire Pages/AboutPage Core --view=pages.about
输出:
组件已创建 🤙
类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
视图文件:Modules/Core/resources/views/livewire/pages/about.blade.php
标签:<livewire:core::pages.about-page />
<livewire:{模块小写名称}::组件类名称-短横线分隔 />
示例:
<livewire:core::pages.about-page />
要为自定义模块创建组件,应在配置文件中添加自定义模块。
发布配置文件后,配置文件位于 config/modules-livewire.php。
取消这些行的注释并添加你的自定义模块。
/*
|--------------------------------------------------------------------------
| 自定义模块设置
|--------------------------------------------------------------------------
|
*/
// 'custom_modules' => [
// 'Chat' => [
// 'path' => base_path('libraries/Chat'),
// 'module_namespace' => 'Libraries\\Chat',
// // 'namespace' => 'Livewire',
// // 'view' => 'resources/views/livewire',
// // 'name_lower' => 'chat',
// ],
// ],
自定义模块配置详情
path: 添加模块完整路径(必填)。
module_namespace: 添加模块命名空间(必填)。
namespace: 默认使用
config('modules-livewire.namespace')值。你可以为特定模块设置不同的值。view: 默认使用
config('modules-livewire.view')值。你可以为特定模块设置不同的值。name_lower: 默认使用模块名称的小写形式。如果设置自定义名称,模块组件将使用自定义名称注册。
版权所有 (c) 2021 Mehediul Hassan Miton mhmiton.dev@gmail.com
MIT 许可证 (MIT)。更多信息请参阅 许可证文件。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

