Dependency management und build-tool für JavaScript
Ich habe viele JS snippets und freigegebene Dateien über mehrere Projekte. Ich habe zu kopieren-an Ihnen vorbei in eine einzelne Datei für jedes Projekt, oder dienen diese als einzelne Dateien auf cdn. Beide sind schlechte Ideen.
Gibt es irgendeine dependency management und build-tool wie Maven für JavaScript? Ideal wäre ein Satz von js Abhängigkeiten und bauen eine einzelne js-Datei, die bedient werden können, die auf cdn.
Kann ich ein Skript schreiben, das zu tun. Aber ich bin auf der Suche zu finden, wenn etwas vergleichbares Maven existiert für JS.
Update 2014: Basierend auf den Antworten hier und meine Suche folgenden sind die beliebtesten tools:
Bower, NPM, RequireJS, Browserify, Webpack, Grunt, Gulp
- Finden Sie vielleicht dieser link hilfreich sein: x-team.com/blog/rollup-webpack-parcel-comparison
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es RequireJS, aber das ist irgendwie eine andere Sache als die, Maven, und dem, was Sie Fragen, es zu tun, ist anders als Maven zu. Es gibt eine beliebige Anzahl von JS-combiner/minifiers, wie jekyll-combiner und Zillionen andere.
Wenn Sie mit Maven, die JavaScript-Maven-Tools von Interesse sein könnten. Wenn Sie nicht sind, ich weiß nicht, einheitlich angeben, download, kombinieren, etc. für beliebige Systeme erstellen. Einige der node.js Sachen die nützlich sein könnten, aber ich habe noch nie verwendet, die außerhalb der node.js Kontext, so bin ich nicht sicher.
http://webjars.org/ Pakete JS-Bibliotheken als JAR-Dateien und stellt Sie unter Maven.
RequireJS ist kein Ersatz für WebJars; es ergänzt es.RequireJS die öffentlichen JS Dateien (CDNs) zur Laufzeit, in der Erwägung, dass Webjars wird, laden Sie die erforderlichen Dateien zur build-Zeit und hosten Sie Sie selbst.
Da die meisten JS-Dateien werden nicht gehostet CDNs, ich benutze Webjars zum download der notwendigen JS-Dateien in build-time, und verweisen Sie mit RequireJS. So bekomme ich das beste aus beiden Welten.
Werfen Sie einen Blick auf grunt. Es ist sehr flexibel build-tool für javascript-Projekte. Verwendet jquery team und anderen großen Projekten. Es kombinieren, verkleinern, test, lint, js-Dateien, wtitten in javascript, Dutzende plugins für, was immer Sie wollen