I Node.js v6.3.1 und ncp v2.0.0 mitnode.js und ncp Modul - nicht einzelne Datei
ich nur ncp bekommen bin kopieren können den Inhalt eines Verzeichnisses zu kopieren, aber nicht eine einzelne Datei in diesem Verzeichnis. Hier
ist der Code, den Inhalt eines Verzeichnisses kopiert rekursiv, das funktioniert:
var ncp = require("ncp").ncp;
ncp("source/directory/", "destination/directory/", callback);
... und hier ist der gleiche Code, aber mit einer Datei als Quelle:
var ncp = require("ncp").ncp;
ncp("source/directory/file.txt", "destination/directory/", callback);
Aus Das alles, was ich denken kann ist, dass NCP wurde speziell entwickelt, Verzeichnisse rekursiv zu kopieren, nicht einzelne Dateien vielleicht?
Ich hatte über etwas wie fileSystem read/write Stream-Funktionen wie beschrieben here gedacht, aber wirklich für die Konsistenz, die ich gehofft hatte, mit ncp zu bleiben.
Update:
ich ein anderes Paket node-fs-extra genannt gefunden, das tut, was ich ohne die Notwendigkeit, möge für mich Event-Handler auf die Operationen hinzuzufügen, wie ich mit dem Dateisystem Lese-/Schreib-Lösung zu tun haben würde. Hier
ist der Code, der funktioniert:
var fsExtra = require("fs-extra");
fsExtra.copy("source/directory/file.txt", "destination/directory/file.txt", callback);
Offensichtlich ist dies noch inkonsistent ist, aber zumindest ist etwas weniger ausführlich.
Mit Blick auf ihren Quellcode scheinen sie in der Lage zu sein, nur eine Datei zu kopieren. Ich denke nicht, dass es wichtig ist, aber für Ihr Bewusstsein müssen Sie nicht '.ncp()' auf dem Modul aufrufen, Sie könnten einfach '(' ncp ')' benötigen und das resultierende Objekt ist dasselbe wie das Aufrufen von ' .ncp() 'darauf, für ...Gründe dafür. Ihr Code ist ein bisschen fugly. – Paul
@Paul könnten Sie ein Beispiel für die Syntax liefern, damit ich weiß, wo ich mit der Verwendung falsch liege, danke. – Jeremy
Es ist die Syntax, die Sie noch verwendeten. Sie setzen buchstäblich: 'module.exports = ncp; ncp.ncp = ncp; 'Keine Ahnung warum. Es wäre also immer noch etwas wie const ncp = require ('ncp'); ncp (src, dest, cb); ' – Paul