composer-asset-plugin 已废弃,因其自2017年起停止维护、不兼容Composer 2.x、依赖已关闭的Bower registry,且无法处理peer dependency和ESM等现代前端语义;应改用yarn或npm配合webpack/vite等工具链管理前端资源。
Composer 本身不支持 Bower 包,composer-asset-plugin 是一个已废弃的过渡方案,**现在不应再使用它管理前端资源**。
为什么不能用 composer-asset-plugin
该插件早在 2017 年就停止维护,且与 Composer 2.x 完全不兼容——安装时会报错 Plugin installation failed 或直接拒绝加载。它依赖已下线的 Bower registry(bower.io 关站),且无法处理现代前端包的 peer dependency、ESM 导入等语义。
替代方案:用 yarn 或 npm 管理前端依赖
所有主流 PHP 框架(Laravel、Yii2、Symfony)都已弃用 Asset Plugin,转而推荐原生 Node.js 工具链:
-
yarn add [email protected]或npm install jquery --save-dev直接写入package.json - 通过
webpack、vite或laravel-mix构建并输出到public/目录 - PHP 后端只负责提供 API 或渲染静态 HTML 入口,不再参与前端包解析
如果必须兼容旧项目(如 Yii2 2.0.13 以下)
仅限无法升级的遗留系统,且必须锁定环境: