dyfeng / composer-asset-plugin
NPM/Bower 对 Composer 的依赖管理器
Requires
- php: >=5.3.3
- composer-plugin-api: ^1.0
Requires (Dev)
- composer/composer: ~1.0@dev
This package is not auto-updated.
Last update: 2024-09-18 19:35:52 UTC
README
Composer Asset Plugin 允许您在 composer.json 中管理项目资源(css、js 等),而无需安装 NPM 或 Bower。
此插件通过将 NPM 或 Bower 的包信息转换为与 Composer 兼容的版本来实现。这使得您能够非常容易地管理基于 PHP 的项目的资源依赖。
功能包括
- 与 composer VCS 仓库的本地管理系统版本兼容
- 与公共和私有 VCS 仓库兼容
- 资源包定义的懒加载,以提高性能
- 包含根包和已安装包依赖的导入过滤器,显著提高更新性能
- 自动获取并创建在
- 自动获取并创建每个资产包中定义的依赖项的资产 VCS 仓库(包括开发依赖项)
- 将资产包映射到 composer 包,以
- 将 Semver 版本 转换为 composer 版本
- 将 Semver 范围版本 转换为 composer 范围版本
- 将 具有 URL 的依赖项 转换为创建 VCS 仓库的 composer 依赖项
- 将 同一依赖项的多个版本 转换为 composer 的不同依赖项
- 手动添加项目中同一依赖项的多个版本
- 添加 自定义 VCS 仓库配置
- 在根 composer 的额外部分中直接覆盖由资产注册表定义的 VCS 仓库配置
- VCS 驱动器包括
- Git
- GitHub(与仓库重定向兼容)
- Git Bitbucket
- Mercurial
- Mercurial Bitbucket
- SVN
- Perforce
- 本地缓存系统包括
- 包版本
- 包内容
- 仓库重定向
- 在根文件
composer.json中可配置的自定义资源安装程序 - 对于 Bower,在
ignore部分中定义的所有文件将不会安装 - 禁用或替换 Bower 的忽略文件删除
- 手动启用 NPM 的忽略文件删除
- 在 Composer 脚本中使用忽略文件管理器
- 与所有命令兼容,包括
dependsdiagnose许可证删除需要search(仅限Bower)显示状态
为什么这个插件?
在PHP项目中管理资源已有几种可能性
- 安装Node.js并使用NPM或Bower命令行,除了Composer命令行
- 执行#1,但添加Composer脚本来自动化过程
- 直接在项目中包含资源(不推荐)
- 创建一个包含所有资源的存储库,并包含
composer.json文件(并使用Packagist或VCS存储库) - 在
composer.json中添加一个包存储库,并包含直接下载链接 - 创建Satis或Packagist服务器
- 其他?
不言而喻,每个javascript、CSS等库都应使用该语言的常用工具进行开发,这些工具前端开发者都十分熟悉。然而,在PHP完整项目中,没有必要使用多个工具(PHP、Nodejs、Composer、NPM、Bower、Grunt等)仅为了在项目中安装这些资源。
创建这个插件就是为了解决这些问题。此外,大多数开发者不会只为支持基于PHP的项目而在他们的项目中添加一个composer.json文件,尤其是当npm和/或Bower已经存在并且被广泛使用时。
文档
大部分文档位于Resources/doc/index.md
安装
所有安装说明都位于文档。
原始的fxp/composer-asset-plugin包将被替换为dyfeng/composer-asset-plugin(版本约束应设置为最新版本,例如dev-master)。您仍然可以在全局范围内安装fxp/composer-asset-plugin,但在您的项目中用这个包替换它。
查看发布说明以了解所需的Composer版本。
全局范围(每个用户)安装
$ composer global require "dyfeng/composer-asset-plugin:dev-master"
项目范围安装
$ composer require "dyfeng/composer-asset-plugin:dev-master"
使用
可以通过--ansi或--no-ansi Composer选项(根据需要添加)触发关闭开关,因为目前Composer插件没有方法添加自定义CLI选项。
当明确将bower-asset或npm-asset包提交到命令行时,它会自动禁用。
许可证
此Composer插件采用MIT许可证。请参阅完整的许可证
关于
Fxp Composer Asset Plugin是由François Pluchino发起的。还可以查看贡献者列表。
报告问题或功能请求
问题和功能请求在Github问题跟踪器中跟踪。