Compositor puede utilizarse para gestionar Javascript dependencias. Por defecto, el compositor está utilizando solo un repositorio llamado Packagist, que es un repositorio solo para bibliotecas PHP. Sin embargo, como se sugiere here, puede agregar sus propios repositorios para javascript (o cualquier otra) bibliotecas.
Aquí es mi composer.json que añade un repositorio nocaut-js personalizado:
{
"require": {
"php": ">=5.3.2",
"symfony/symfony": ">=2.0.10,<2.1.0-dev",
"doctrine/orm": ">=2.1.0,<2.2.0-dev",
"twig/extensions": "*",
"symfony/assetic-bundle": "2.0.*",
"sensio/generator-bundle": "2.0.*",
"sensio/framework-extra-bundle": "2.0.*",
"sensio/distribution-bundle": "2.0.*",
"jms/security-extra-bundle": "1.0.*",
"knockout/knockout-js": "2.1.0"
},
"autoload": {
"psr-0": {
"Acme": "src/"
}
},
"repositories": [
{
"type": "package",
"package": {
"name": "knockout/knockout-js",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/SteveSanderson/knockout.git",
"reference": "v2.1.0"
}
}
},
{
"type": "package",
"package": {
"name": "knockout/knockout-js",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/SteveSanderson/knockout.git",
"reference": "v2.0.0"
}
}
}
]
}
repositorio consiste en paquetes (que es una combinación de fuente y la versión de la biblioteca). Aquí tengo 2 paquetes (2.1.0, 2.0.0) que ya contienen una fuente preconstruida de knockout.js, por lo que no tiene que compilar nada.
Ahora, hay ocasiones en las que es posible que desee compilar y usar el último código. Para automatizar esta rutina, pensé, uno puede usar el gancho de git post-checkout. Añadir un nuevo paquete que se refiere al último código:
{
"type": "package",
"package": {
"name": "knockout/knockout-js",
"version": "master",
"source": {
"type": "git",
"url": "https://github.com/SteveSanderson/knockout.git",
"reference": "master"
}
}
}
referencia en este paquete requerir sección:
"knockout/knockout-js": "master"
y un gancho post-pago y envío con instrucciones de construcción. Para knockout.js es simple:
// vendor/knockout/knockout-js/.git/hooks/post-checkout
#!/bin/sh
echo "Building knockout.js";
`cd build && ./build-linux`;
Esto no está relacionado con mi pregunta – Dziamid
¿cómo es así? Usted preguntó cómo incluir el Javascript del vendedor en su proyecto. Así es como lo hago ... assetic maneja la compilación de café y menos archivos. – MDrollette
La pregunta es acerca de instalar/actualizar las bibliotecas de proveedores de JavaScript. – Dziamid