在以前的版本中,当使用 artisan vendor:publish
命令来发布扩展包的资源时,需要自己指定 --provider
参数或者 --tag
参数来确定要发布什么资源。比如 --provider="BarryvdhDebugbarServiceProvider"
,用于发布指定 provider 包含的资源,或者 --tag=config
这样的命令。如果你什么参数都不加的话,默认会发布所有 provider 包含的所有资源(配置文件、视图、样式和JS等)。在 Laravel 5.5 中,做了一点增强,让使用上更方便了。
如上面的动画所展示的,如果不加任何参数,会先提示一个列表,让你选择要发布哪一个 provider 或者 tag 下的资源。这样就不用去记住要发布的资源所属的provider的完全限定名,非常方便。这个功能由 Trevor Fitzgerald 在 Laravel 5.5 中加入。
除了通过交互式的操作来选择发布所需的资源之外,依然可以用以往的参数方式,比如 --provider
和 --tag
, 除此之外还加入了一个 --all
参数,可以在不提示的情况下直接发布所有 provider 包含的所有资源。
Laravel 5.5 版本中 php artisan vendor:publish
命令包含的完整参数:
用法:
vendor:publish [参数]
参数:
--force 覆盖任何已经存在的文件
--all 不提示直接发布所有 service providers 包含的资源
--provider[=PROVIDER] 指定哪一个 service provider 包含所需发布的资源
--tag[=TAG] 指定一个或多个包含所需资源的 tags
-h, --help 显示命令帮助
-q, --quite 执行命令且不输出任何信息
-V, --version 显示应用的版本号(显示的是 Laravel Framework 的版本号)
--ansi 强制 ANSI 编码输出
--no-ansi 禁用 ANSI 编码输出
-n, --no-interaction 不提示任何交互式问题
--env[=ENV] 命令将于哪一个环境下执行
-v|vv|vvv, --verbose 增加输出信息的详细级别: 1级=正常输出,2级=更详细的信息,3级=调试信息