2016-10-28 2 views
1

Ich habe ein postinstall-Knotenscript, das zuvor ausgeführte Skripts in meinen npm-scripts-Ordner kopiert. Dies funktioniert jedoch nur für Mac. Ich muss es auch für Windows arbeiten lassen, also erstelle ich eine neue Datei, die 1 für Windows oder das unten für Mac geleitete läuft.Konvertieren von Mac-Knotenscript in Windows

`cp ../node_modules/some-components/npm-scripts/*.js ../npm_scripts` 

Ich bin nicht eine klare Art und Weise zu sehen, die Syntax verwendbar zu sein von einem Windows-Rechner als auch zu konvertieren als ob Kopie oder Robocopy zu verwenden. Irgendwelche Vorschläge würden sehr geschätzt werden.

+0

Vorschlag: Erstellen Sie ein JavaScript zum Kopieren der Datei, z. über 'fs'. Dies ist offensichtlich plattformunabhängig. – qqilihq

+0

Ich mache das aber bin unklar über die Windows-Syntax, weshalb ich gezeigt habe, was von Mac konvertiert werden musste. Das Grundformat ist dies. 'const exec = require ('./ exec'); const platformCheck =() => { if (process.platform === 'win32') { exec ('windows thing here'); } Exec ('Mac Sache hier) } ' – dch

Antwort

1

erstellen copy.js Datei, die die Kopierplattformunabhängig über eine Node.js API führt (d.h. beruhen nicht auf Windows oder UNIX-Shell-Befehle spezifischen cp oder copy). Mein Vorschlag: Verwenden Sie fs-extra, das auch das Kopieren von Verzeichnissen behandelt, im Gegensatz zu den enthaltenen fs.

var fs = require('fs-extra'); // add to your dependencies via 'npm install fs-extra --save' 
var path = require('path'); 

fs.copySync(
     path.resolve(__dirname, '../path/to/source', 
     path.resolve(__dirname, '../path/to/destination')); 
+0

Ich verstehe jetzt. Danke für deine Antwort! – dch

Verwandte Themen