infrajs / config-search
Requires
- infrajs/cache: ~1
- infrajs/load: ~1
- infrajs/path: ~1
README
短地址 - 支持配置文件的扩展文件夹的短地址 .infra.json
使用短地址 "-" 搜索文件 $src = Path::theme('-plugin/test.js')
将在包含 .infra.json 的文件夹中进行。
例如,如果文件夹 vendor/name/plugin/ 中有 .infra.json 和 test.js,则路径 -plugin/test.js 将映射到文件 vendor/name/plugin/test.js。
在项目根目录的 .infra.json 中,也可以使用短名称扩展名,无需指定完整地址 vendor/name/plugin。
{ "plugin":{ "js":"test.js" } }
所有安装的带有配置文件 .infra.json 的扩展文件和文件夹将通过短地址 -plugin/folders/file.ext 可用,其中 "-" 隐藏部分地址,这些地址由该扩展准备。
扩展增强了 infrajs/path 的功能。在 Path::$conf['search'] 数组中添加支持通过文件 .infra.json 进行配置的生产商的地址。
使用方法
扩展自动作为依赖项安装 infrajs/router,无需配置。
独立使用
对于知道自己在做什么的人来说...
\infrajs\config\Search::init(); //Наполнит Path::$conf['search'] новыми путями
描述
默认情况下,使用 - 搜索文件的路径仅指定了一个 vendor/infrajs/,这对于收集所有必要的依赖项就足够了。
某些路径 被缓存,缓存与 composer.lock 文件更改的日期绑定。
工作原理 - 遍历项目中的所有文件夹,并将所有包含 .infra.json 文件的文件夹添加到 config.path.search 中。
- .infra.json - 根目录已处理,忽略
- dir/.infra.json - 没有明显的生产商,忽略,路径本身就会起作用 -dir/file.ext
- dir1/dir2/.infra.json - 将添加路径 dir1/ 到搜索中,并将工作路径设置为 "-dir2/file.ext"
- dir1/dir2/dir3/.infra.json - 将添加路径 dir1/dir2/ 到搜索中,并将工作路径设置为 "-dir3/file.ext"
找到的路径被添加到 config.path.search 的末尾。
有些文件夹包含常用的文件,但不包含 .infra.json。
- vendor/components/
- vendor/twbs/
- bower_components/ 可以在项目根目录的手动指定 .infra.json
{ "path":{ "search":[ "vendor/components/", "vendor/twbs/", "bower_components/" ] } }
禁用扩展
在不使用 config-search 扩展的情况下,所有路径都需要手动在根目录的 .infra.json 中列出。如果已安装该扩展,则可以通过在根目录的 .infra.json 中使用 off 参数来禁用其使用。
{ "config-search":{ "off":true } }