Composer verwendet werden können Javascript Abhängigkeiten als auch zu verwalten. Standardmäßig verwendet Composer nur ein Repository namens Packagist, das nur ein Repository für PHP-Bibliotheken ist. Wie Sie jedoch vorgeschlagen haben, können Sie eigene Repositories für JavaScript (oder andere) Bibliotheken hinzufügen, wie es in den Artikeln here vorgeschlagen wurde.
Hier ist meine composer.json, die einen benutzerdefinierten Knockout-js Repository fügt hinzu:
{
"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"
}
}
}
]
}
Repository besteht aus Paketen (die Kombination von Quelle und Version der Bibliothek ist). Hier habe ich 2 Pakete (2.1.0, 2.0.0), die bereits eine vorgefertigte Quelle von knockout.js enthalten, so dass Sie nichts kompilieren müssen.
Jetzt möchten Sie vielleicht den neuesten Code kompilieren und verwenden. Um diese Routine zu automatisieren, dachte ich mir, kann man den Post-Checkout-Haken verwenden. ein neues Paket hinzufügen, die auf den neuesten Code verweist:
{
"type": "package",
"package": {
"name": "knockout/knockout-js",
"version": "master",
"source": {
"type": "git",
"url": "https://github.com/SteveSanderson/knockout.git",
"reference": "master"
}
}
}
Referenz dieses Paket in Abschnitt erfordern:
"knockout/knockout-js": "master"
und einen Post-Kasse Haken mit Build-Anweisungen. Für knockout.js es ist einfach:
// vendor/knockout/knockout-js/.git/hooks/post-checkout
#!/bin/sh
echo "Building knockout.js";
`cd build && ./build-linux`;
Das hängt nicht mit meiner Frage zusammen – Dziamid
wie so? Sie haben gefragt, wie Sie Lieferanten-JavaScript in Ihr Projekt aufnehmen können. So mache ich es ... assetic kümmert sich um die Zusammenstellung von Kaffee und weniger Dateien. – MDrollette
Die Frage bezieht sich auf das Installieren/Aktualisieren von JavaScript-Anbieterbibliotheken. – Dziamid