koala-framework / composer-extra-assets
Composer 插件,用于使用原生 npm/bower 安装资源
v2.0.9
2024-06-11 08:24 UTC
Requires
- composer-plugin-api: ^1.0 || ^2.0
- mouf/nodejs-installer: >=1.0.2 <2.0
Requires (Dev)
- composer/composer: ^2.0
- phpunit/phpunit: 4.5.*
README
此 Composer 插件使用原生 npm/bower 安装资源。不仅根包可以有依赖项。
Npm 包将被安装在包文件夹中,bower 将安装在根目录 - 与所有依赖项合并。
示例用法
composer.json
"require": {
"koala-framework/composer-extra-assets": "~1.1"
},
"extra": {
"require-npm": {
"grunt": "0.4.*"
},
"require-bower": {
"jquery": "*"
},
"require-dev-bower": {
"qunit": "*"
},
"require-dev-npm": {
}
}
Bower 依赖项
Bower 依赖项将被安装在 vendor/bower_components
目录中。
NPM 依赖项
NPM 依赖项将被安装在需要依赖项的包的 node_modules
目录中。一些 NPM 包提供二进制文件(例如 gulp
和 grunt
)。
如果 NPM 依赖项在 根 Composer 包 中声明,NPM 二进制文件将暴露在 vendor/bin
目录中。
如果您正在编写一个包,并且希望 NPM 包在 Composer 根的 node_modules
目录中可用(而不是您包的 node_modules
目录中),则可以在您的包的 composer extra
会话中添加 expose-npm-packages
属性
"require": {
"koala-framework/composer-extra-assets": "~1.1"
},
"extra": {
"require-npm": {
"gulp": "*"
},
"expose-npm-packages": true
}
生成的文件
此插件将自动生成 3 个文件:.bowerrc
、bower.json
、package.json
除非您有特殊要求,否则可以在您的 VCS 中忽略这 3 个文件。如果您使用 GIT,将其添加到您的 .gitignore
.gitignore
vendor/
.bowerrc
bower.json
package.json
锁定
此插件将生成一个名为 composer-extra-assets.lock
的文件,它可以像 composer.lock
一样使用。如果您想要安装确切的依赖项,请将其放入版本控制中。
警告
此插件将删除(并重新安装)完整的 node_modules 文件夹。任何更改都将丢失。