2016-11-06 2 views
0

Ich erstelle eine NODE JS CLI App, die basierend auf den vom Benutzer bereitgestellten Optionen ein Gerüst für den Benutzer generiert.Node CLI App - Kopieren einer Reihe von Dateien

Ich bin in dem Teil fest, wo die CLI-App eine Reihe von Dateien aus dem Repository kopieren und in das Arbeitsverzeichnis der Benutzer kopieren muss. Der Code, den ich verwende, ist:

fs.copy('./template/core', '/', function (err) 
    { 
     if (err) return console.error(err) 
     console.log("success!") 
    }); 

Die Vorlage/Kern-Ordner in der cli App Projekthierarchie vorhanden ist

, wenn ich den Befehl ausführen, es gibt mir:

{Fehler: ENOENT: keine solche Datei oder das Verzeichnis, lstat './template/core' errno: -2, Code: 'ENOENT', syscall: 'lstat', Pfad: './template/core'}

I habe einen NP gemacht m installiert -g und könnte die Vorlage/Core-Datei in der Datei/usr/lib/node_modules //

Jede Hilfe dieses Problems bei der Lösung würde geschätzt

Antwort

1

Sie versuchen, eine Datei mit einer Quelle relativ zu kopieren zum aktuellen Arbeitsverzeichnis (./), das sollte relativ zur CLI-Skriptdatei sein (wenn ich dich richtig verstehe). Dazu müssen Sie relativ zu __dirname kopieren.

Auch Ihr Ziel (/) spiegelt die Wurzel des Dateisystems, aber Ihr Text sagt, dass Sie Dateien in das aktuelle Arbeitsverzeichnis kopieren möchten, so sollten Sie .

Diese beiden Dinge verwenden würde kombiniert in dieser:

const path = require('path'); 
fs.copy(path.resolve(__dirname, 'template/core'), '.', function(err) { ... }); 
+0

Ausgezeichnet. Vielen Dank. Es hat einfach funktioniert! –

Verwandte Themen