usanzadunje / scaffold-laravel
为 Laravel 应用提供多种脚手架选项。
Requires
- php: ^7.4|^8.0
- illuminate/contracts: ^7.0|^8.0|^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- nunomaduro/collision: ^5.10|^6.1
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^6.22
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-09 15:20:47 UTC
README
为 Laravel 应用提供多种脚手架选项。
安装 Vue,添加 Vue Router/Inertia 作为前端路由,添加 Vuex 作为状态管理。用 Vite 替换 Webpack 或为 Webpack 安装 Browser Sync 插件。还可以添加与这些预设中任何一种相关的 Docker 脚手架。
安装
您可以通过 composer 安装此包
composer require usanzadunje/scaffold-laravel
用法
php artisan scaffold [preset]
可用预设
vue
vue-router
(如果您已设置 Vue 应用)vuex
(如果您已设置 Vue 应用)vite
(用 Vite 替换 Webpack)docker
all
(一次性安装 vue、vite 和 docker 预设)
Vue
将在您 resources/js 目录内生成以下文件和目录
components
目录composables
目录views
目录和其中的Example.vue
app.js
文件,其中包含 Vue 应用的最小脚手架app.blade.php
文件,其中定义了 #app 容器- 将
/
路由更改为返回app
视图而不是welcome
此外,它将询问您是否想要安装路由或状态管理器。
Vue Router
将在您 resources/js 目录内生成以下文件和目录
router
目录,其中包含基本路由脚手架,并定义了一个示例路由views
目录中的Welcome.vue
文件,该文件将显示为定义的示例路由ExampleApp.vue
,它将作为路由的入口点 (它在其中定义)- 它将在
app.js
文件中初始化自己
此外,它将询问您是否需要为路由添加基本的中间件脚手架。这将创建 middlewarePipeline.js
文件,该文件负责调用在特定路由上定义的所有中间件。并在定义路由的 router/index.js
文件中添加 beforeEach
导航守卫并调用此管道。
需要中间件的路由应该在 meta 字段上定义具有 middleware 属性的中间件数组。您可以在创建的示例中间件一起创建的 middlewares
目录中定义您的中间件。
Vuex
将在您 resources/js 目录内生成以下文件和目录
store
目录,其中包含模块化 Vuex 的基本脚手架store
目录中的Module.js
文件,它是单个模块状态的示例- 它将在
app.js
文件中初始化自己 - Vuex 脚手架附带
vue-persistedstate
插件,该插件将状态中的数据持久化到Local Storage
Vite
将删除所有与 Webpack
相关的包、脚本和文件。此外,它将在项目目录的根目录中创建 vite.config.js
并设置基本配置。
如果您已安装 Vue
,它将为 Vue
添加 Vite
插件并优化其配置(同样适用于 Vue Router
或 Vuex
)
如果您使用此包安装了 Vue
,它将生成 app.blade.php
文件,Vite
脚手架将删除使用 Webpack
导入的资产(css/js)并生成 @vite
blade 指令,该指令将为 Vite
资产(css/js)生成导入。如果您没有 app.blade.php
文件,它将不会尝试替换这些,因此您需要自己将 @vite
指令添加到布局文件中。它还会在 app.js 中导入您的 css/app.css
文件,因为这是 Vite
处理 CSS 的方式。
Docker
将生成包含容器详情的 docker-compose.yml
和 docker-compose.prod.yml
文件。此外,它还会生成 docker-compose 目录,其中包含 nginx
、php
、suppervisord
的配置以及开发和生产环境的初始化脚本。
它将根据您是否使用 Webpack
或 Vite
来自适应,以便与它们顺利工作并相应地更改 Webpack
或 Vite
的配置。
它将更改您的 .env
文件及其内容。
DB_HOST
并将其设置为db
,以便 Docker 可以解析它,因为数据库将位于容器内。DB_USERNAME
仅当其设置为root
时,并将其更改为laravel
。DB_PASSWORD
仅当其设置为空时,并将其更改为laravel
。DB_PORT
仅当其设置为3306
以外的值时,因为这是容器_name 使用的端口。
附加信息
如果您想从主机机器连接到它,本地机器上暴露的数据库端口设置为 3310。
如果使用 Webpack
但没有设置 Browser Sync
插件,则应用程序端口将暴露为 8000
(在 localhost:8000
上提供服务)。
如果您使用 Webpack
与 Browser Sync
,则暴露的端口将是 3000
(在 localhost:3000
上提供服务)。
当使用 Vite
时,暴露的端口将是 3000
(在 localhost:3000
上提供服务)。
负责生产/开发中应用程序的脚本位于 docker-compose
目录中,分别是 init.sh
/ initDev.sh
文件。您可以根据需要更改它们,因为这些是在容器启动时运行的命令,其中包含应用程序。
免责声明
这是我第一个包,我主要是因为自己在几乎每个项目中都做了同样的事情(复制 -> 粘贴)而创建的。我想节省自己一些时间,所以创建了它。我也稍作修改,以便它在多种情况下都可以使用,也许其他人也可以使用它。但请记住,它是基于我的问题而制作的。
如果您有任何建议或要添加的内容,我将很高兴去做。如果它帮助了一个人,我将感到非常高兴 :).
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。