gruntjs - Wo installiere ich Aufgaben?

8

Arbeiten an einem gruntjs "Hello World" -Projekt, und es scheint keinen optimalen Ort zu geben, um eine Grunt-Aufgabe zu installieren. Sagen wir zum Beispiel, dass ich mit der Erstellung von coffeescript beginnen möchte, ich würde die "grunt-coffee" Aufgabe installieren müssen.

Option 1: Installiere es direkt in meinen src Baum

Das scheint so zu sein, wie Ihr es gerne tun würdet und es funktioniert.

%Vor%

Dies fügt jedoch 7,2 mg meinem Projektbaum hinzu. Ich möchte es nicht in meine src-Steuerung einfügen, aber wenn ich es entferne, wird grunt mein Projekt nicht aufbauen. Ich könnte .gitignore es, aber dann können andere, die das Repository herunterladen, nicht ohne die gleichen Installationen erstellen. Dies wird auch für CI-Server ein wenig chaotisch.

Option 2: Installieren Sie es global

%Vor%

Grunt kann meine Plugins nicht finden, wenn ich sie auf diese Weise installiere:

%Vor%

Es ist mir nicht klar, warum das nicht unterstützt wird.

Option 3: Installieren Sie sie woanders?

Grunt hat eine API-Methode namens loadTasks , die Aufgaben lokal lädt. Ich habe versucht, die npms herunterzuziehen und sie selbst in ein benutzerdefiniertes Verzeichnis zu verschieben, auf das ich hier verwiesen habe, ohne Glück. EG

%Vor%

und dann:

%Vor%

Option 4: Grunt zieht in seinem Aufruf loadNpmTasks Abhängigkeiten für mich in einem .grunt-Verzeichnis irgendwo herunter

Das wäre nett ...:)

BEARBEITEN

Sindre unten ist korrekt. Option 1 ist der Weg zu gehen, aber es fehlt ein Teil - die Datei package.json. Also:

  • Fügen Sie eine package.json-Datei hinzu und legen Sie alle Abhängigkeiten Ihres grunt-Projekts dort fest.
  • Stellen Sie sicher, dass node_modules ist .gitignore -ed.
  • Geben Sie in Ihrer README einige Anweisungen ein, um npm install (Anmerkung, keine Argumente) für einen Klon auszuführen oder Abhängigkeiten zur Build-Datei hinzuzufügen.
Roy Truelove 18.09.2012, 20:56
quelle

2 Antworten

9

Erste Option ist der richtige Weg. Sie binden den Ordner node_modules nicht ein, sondern weisen Benutzer lediglich an, npm install auszuführen, wodurch alle erforderlichen Abhängigkeiten abgerufen werden.

    
Sindre Sorhus 24.09.2012, 09:57
quelle
1

Wenn Sie Option 3 verwenden möchten, ist die korrekte Syntax dies:

%Vor%

Wir müssen das irgendwie für unseren Build-Prozess verwenden, der auf einem Computer läuft, der von der "Außenwelt" isoliert ist und keine Abhängigkeiten zur Build-Zeit ziehen kann ...

    
Khepin 17.04.2013 11:11
quelle

Tags und Links