2016-08-05 67 views
3

Ich führe Grunt und kann Docker (Jsdocs) nicht bekommen, um seine generierten Dateien in einem externen Ordner zu platzieren. Unabhängig davon, was "dest" ich überlasse, legt es die generierten HTML-Dateien immer noch in das gleiche Verzeichnis wie die Javascript-Dateien.Grunt/Docker Dateipfade

Grunt bauen -v Protokolle:

Running "docker:build" (docker) task 
Verifying property docker.build exists in config...OK 
Files: C:/mysite/src/html/scripts/components/app-helpers.js -> jsdocs/app-helpers.js 
Files: C:/mysite/src/html/scripts/components/datatables-functions.js -> jsdocs/datatables-functions.js 
Files: C:/mysite/src/html/scripts/components/highcharts-functions.js -> jsdocs/highcharts-functions.js 
Files: C:/mysite/src/html/scripts/components/pagination.js -> jsdocs/pagination.js 
Files: C:/mysite/src/html/scripts/components/resizer.js -> jsdocs/resizer.js 
Files: C:/mysite/src/html/scripts/components/slideout.js -> jsdocs/slideout.js 
Files: C:/mysite/src/html/scripts/components/tabs.js -> jsdocs/tabs.js 
Files: C:/mysite/src/html/scripts/components/ui.js -> jsdocs/ui.js 
Files: C:/mysite/src/html/scripts/components/widget.js -> jsdocs/widget.js 
Files: C:/mysite/src/html/scripts/components/widgets/cards.js -> jsdocs/cards.js 
Files: C:/mysite/src/html/scripts/components/widgets/figures.js -> jsdocs/figures.js 
Files: C:/mysite/src/html/scripts/components/widgets/flip-card.js -> jsdocs/flip-card.js 
Files: C:/mysite/src/html/scripts/components/widgets/list-view.js -> jsdocs/list-view.js 
Files: C:/mysite/src/html/scripts/components/widgets/projects.js -> jsdocs/projects.js 
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[] 
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[] 
Destination: jsdocs/app-helpers.js 
Destination: jsdocs/datatables-functions.js 
Destination: jsdocs/highcharts-functions.js 
Destination: jsdocs/pagination.js 
Destination: jsdocs/resizer.js 
Destination: jsdocs/slideout.js 
Destination: jsdocs/tabs.js 
Destination: jsdocs/ui.js 
Destination: jsdocs/widget.js 
Destination: jsdocs/cards.js 
Destination: jsdocs/figures.js 
Destination: jsdocs/flip-card.js 
Destination: jsdocs/list-view.js 
Destination: jsdocs/projects.js 
Generated: C:\mysite\src\html\scripts\components\app-helpers.js.html 
Generated: C:\mysite\src\html\scripts\components\datatables-functions.js.html 
Generated: C:\mysite\src\html\scripts\components\highcharts-functions.js.html 
Generated: C:\mysite\src\html\scripts\components\pagination.js.html 
Generated: C:\mysite\src\html\scripts\components\resizer.js.html 
Generated: C:\mysite\src\html\scripts\components\slideout.js.html 
Generated: C:\mysite\src\html\scripts\components\tabs.js.html 
Generated: C:\mysite\src\html\scripts\components\ui.js.html 
Generated: C:\mysite\src\html\scripts\components\widget.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\cards.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\figures.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\flip-card.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\list-view.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\projects.js.html 
Saved file tree to doc-filelist.js 
Copied JS to doc-script.js 
Copied default.css to doc-style.css 
Done. 

Meine Config

docker: { 
      build: { 
       expand: true, 
       flatten: true, 
       cwd: String(global_scripts_folder).replace(/\\\\/g, "/").replace(/\\/g, "/"), 
       src: ['components/**/*.js'], 
       dest: 'jsdocs', 
       options: { 
        //template : "node_modules/ink-docstrap/cosmo", 
        //configure : "node_modules/ink-docstrap/template/jsdoc.conf.json" 
       } 
      } 
     }, 
+0

Sie sind auf einer Windows-Maschine. So bin ich mir nicht sicher über diese Zeile 'cwd: String (global_scripts_folder) .replace (/ \\\\/g," /").replace(/\\/g, "/") '. Im Gegensatz zu Linux glaube ich, Windows-Verzeichnispfad basieren auf '\ 'Schrägstrich. Versuchen Sie, diesen regulären Ausdruck auskommentieren und sehen, ob es funktioniert –

+0

Richtig, ich bin auf einer Windows-Maschine. Ich habe versucht, den regulären Ausdruck zu entfernen und habe das gleiche Ergebnis erhalten. Es ist einfach seltsam, wie es alle Zielpfade korrekt druckt und dann die generierten Dateien nicht hineinlegt. –

+0

Danke @ user2094477 für mich zurück. Ich habe die Lösung als Antwort geschrieben und versucht, die Frage zu beantworten, die Sie in Ihrem Kommentar haben. Ich würde es zu schätzen wissen, wenn Sie auf das Häkchen neben der Antwort klicken, um dies als beantwortet zu markieren. Damit können wir eine Schließung haben. Vielen Dank. –

Antwort

0

Basierend auf den Befehlszeilenprotokolle, klingt wie das Grunzen Datei daher auf einem Windows-Lauf Box diese regulären Ausdruck;

cwd: String(global_scripts_folder).replace(/\\\\/g, "/").replace(/\\/g, "/")

könnte dazu führen Sie trauern, nur weil; Windows-Verzeichnispfade basieren auf \ Forward-Schrägstrich.

Das Problem hier ist, dass der Regexpr versucht, alle Forward-Schrägstriche in Back-Schrägstriche umzuwandeln, die funktionieren würden, wenn diese Grunt-Datei von einer Windows- in eine Linux-Umgebung portiert wird.

F: Es ist nur seltsam, wie es alle Zielpfade korrekt druckt und dann die generierten Dateien nicht in ihnen platziert.

A: Ich denke, der verbale Modus -v von Grunt berichtet Dinge richtig. Es ist nur, dass die Datei jetzt als jsdocs/datatables-functions.js anstatt nur datatables-function.js benannt wird. Irgendwie muss Windows das als vollen Dateinamen interpretieren.

Hoffe, das hilft.

+0

Es stimmt, ich bin auf einer Windows-Maschine ... nicht nach Wahl;). Meine gesamte Gruntdatei verwendet Schrägstriche ohne Probleme. Das Entfernen der Ersetzungsfunktionen wirkt sich hier nicht auf die Ergebnisse aus, und die Dateien, die gespeichert werden, enthalten keine "jsdocs /". Sie haben den gleichen Namen mit der am Ende hinzugefügten HTML-Erweiterung und werden direkt neben den js-Dateien platziert. Die Dateien doc-filelist.js, doc-script.js und doc-style.css werden jedoch im richtigen Verzeichnis (jsdocs) abgelegt. –