Ho appena installato node.js per Windows ed è stato davvero un gioco da ragazzi farlo funzionare. Vorrei usarlo come parte del mio processo di compilazione di combinare diversi file insieme in questo modo:Come impostare la directory di lavoro per Node.js su Windows?
// settings
var FILE_ENCODING = 'utf-8',
EOL = '\n',
DIST_FILE_PATH = 'dist/myAwesomeScript.js';
// setup
var _fs = require('fs');
function concat(fileList, distPath) {
var out = fileList.map(function(filePath){
return _fs.readFileSync(filePath, FILE_ENCODING);
});
_fs.writeFileSync(distPath, out.join(EOL), FILE_ENCODING);
console.log(' '+ distPath +' built.');
}
concat([
'foo/bar.js',
'foo/lorem.js',
'foo/maecennas.js'
], DIST_FILE_PATH);
Questo in realtà funziona come un fascino. Tuttavia funziona solo se metto tutti i miei script nella directory nodejs che è C: \ Programmi (x86) \ nodejs e avvii il processo cmd con i diritti di amministratore.
Ma ho bisogno di avere i miei file di progetto in un'altra directory (ad esempio D: \ git \ projectx \) e vorrei poter eseguire: node.exe D: \ git \ projectx \ combine.js. Purtroppo le cose non funzionano in questo modo perché node.exe cercherà i file all'interno della propria directory che è C: \ Programmi (x86) \ nodejs. Ci deve essere via per avviare il processo nodejs e dirgli di usare un'altra directory come directory di lavoro, ho sbagliato?
UPDATE
Come qualcuno ha sottolineato su IRC. La soluzione al mio problema era piuttosto semplice. Solo cd
in D:\git\projectx
e quindi utilizzare node.exe combine.js
. Questo fa in modo che la directory corrente all'interno dei vostri punti di script per D:\git\projectx
Tuttavia, sto accettando la risposta di Luca dal momento che sembra essere anche vero ;-)
è sufficiente aggiungere l'unità alla stringa di directory. 'process.chdir ('c:/users'); process.cwd() ' risultato: ' 'c: \\ users'' –
Come e dove usarlo? Dove dovremmo scrivere esattamente questa linea? L'ho scritto su hit e trial base e non potevo riuscire – Sami