simialbi/composer-asset-plugin

NPM/Bower 依赖管理器,适用于 Composer 2

安装: 252

依赖者: 0

建议者: 0

安全: 0

星星: 1

关注者: 0

分支: 156

类型:composer-plugin

2.0.0-beta.7 2022-10-12 06:54 UTC

README

Latest Stable Version Total Downloads License build

Composer Asset 插件允许您在不安装 NPM 或 Bower 的情况下,通过在 composer.json 中管理项目资产(CSS、JS 等)。

此插件通过将包信息从 NPM 或 Bower 转换为与 Composer 兼容的版本来实现。这使得您能够非常容易地管理基于 PHP 的项目的资产依赖项。

重要

⚠ 此插件基于 François Pluchino 的 composer 1 版本。此 v2 版本不是由 François Pluchino 维护的。

François Pluchino 的下一个官方主要版本的 Composer Asset Plugin 与当前版本不同,且不兼容,因此成为了一个名为 Foxy 的新项目。

特性包括
  • 与 composer VCS 仓库的本地管理版本系统兼容
  • 与公共和私有 VCS 仓库兼容
  • 通过延迟加载资产包定义来提高性能
  • 带有根包及其安装包的依赖项的导入过滤器,显著提高更新性能
  • 自动获取和创建在
  • 自动获取和创建每个资产包(包括开发依赖项)中定义的依赖项的资产 VCS 仓库
  • 将资产包映射到 composer 包
  • Semver 版本 转换为 composer 版本
  • Semver 范围版本 转换为 composer 范围版本
  • 将带有 URL 的 依赖项 转换为 composer 依赖项,并创建 VCS 仓库
  • 同一依赖项的多个版本 转换为 composer 的不同依赖项
  • 手动添加项目中的 同一依赖项的多个版本
  • 添加 自定义的 VCS 仓库配置
  • 直接在根 composer 的配置部分覆盖资产注册表中定义的 VCS 仓库配置
  • VCS 驱动程序
  • 本地缓存系统用于
    • 包版本
    • 包内容
    • 仓库重定向
  • 在根文件 composer.json 中可配置的自定义资产安装器
  • 对于 Bower,在 ignore 部分定义的所有文件将不会安装
  • 禁用或替换 Bower 的忽略文件删除操作
  • 手动启用 NPM 的忽略文件删除操作
  • 在 Composer 脚本中使用忽略文件管理器
  • 按项目、全局或使用环境变量配置插件
  • 与所有命令兼容,包括
    • depends
    • diagnose
    • licenses
    • remove
    • require
    • search
    • show
    • status
为什么这个插件?

已经有几种方法可以在 PHP 项目中管理资产

  1. 安装 Node.js 并使用 NPM 或 Bower 命令行,除了 Composer 命令行
  2. 做 #1,但添加 Composer 脚本来自动化过程
  3. 直接在项目中包含资产(不建议)
  4. 创建包含所有资产的仓库并包含 composer.json 文件(并使用 Packagist 或 VCS 仓库)
  5. composer.json 中添加带有直接下载链接的包仓库
  6. 创建 Satis 或 Packagist 服务器
  7. 其他?

不言而喻,每个 JavaScript、CSS 等. 库都应该使用该语言的常用工具进行开发,前端开发者非常熟悉。然而,对于完整的 PHP 项目,不应该需要使用多个工具(PHP、Nodejs、Composer、NPM、Bower、Grunt 等)来简单地在项目中安装这些资产。

此插件是为了解决这些问题而创建的。此外,大多数开发者不会只为支持基于 PHP 的项目而在项目中添加 composer.json 文件,特别是当 npm 和/或 bower 已经存在且被广泛使用时。

文档

大部分文档位于 Resources/doc/index.md

阅读文档

阅读常见问题解答

阅读发行说明

安装

所有安装说明位于 文档

许可证

此 composer 插件采用 MIT 许可证。完整许可证请见

LICENSE

关于

Fxp Composer Asset Plugin 是 François Pluchino 的倡议。还可以参考 贡献者列表

报告问题或功能请求

问题和功能请求在 Github 问题跟踪器 中跟踪。