2016-07-04 18 views
1

von NodeJS documentation auf fs.mkdtempPfadseparator über OS-Plattformen

const tmpDir = '/tmp'; 
const subdir = '/com.domain.app'; 

!fs.existsSync(tmp + subdir) ? fs.mkdirSync(tmp + subdir) : null; 

// This method is *CORRECT*: 
const path = require('path'); 
fs.mkdtemp(tmpDir + path.sep + subdir + path.sep, function(err, folder){ 
    if (err) throw err; 
    console.log(folder); 
}); 

Meine Frage an path.sep und temporären Verzeichnisse verwendet ist, und ich mag, dass der Code plattformunabhängig sein und in der Lage sein auf mehreren Plattformen laufen .

  1. was ist der Wert von path.sep über alle Nodejs-Plattformen.
  2. Welcher Wert ist das tmp-Verzeichnis für alle nodejs-Plattformen?
  3. ist /tmp auf Windows verfügbar?
  4. irgendwelche Vorschläge für obigen Code, wenn es um temporäre Verzeichnisse/Pfade

Dank

Antwort

1

Benutzen Sie den Code os.tmpDir und path.join Funktionen für Cross-Plattform kommt.

var tmp = require('os').tmpDir(); 
var dest = path.join(tmp, "com.domain.app"); 

!fs.existsSync(dest) ? fs.mkdirSync(dest) : null; 

Referenz. Writing cross platform node