it-swarm.it

Recupero di file dalla directory Node Js

Sto usando readDirSync per ottenere i file da un Diretory. Si prega di trovare il codice e l'errore come segue.

var fs = require('fs');
var files = fs.readdirSync('./application/models/');
for(var i in files) {
  var definition = require('../application/models/'+files[i]).Model;
  console.log('Model Loaded: ' + files[i]);
}

Ricevo un errore per la riga numero 2. ENOENT, nessun file o directory './application/models/' su Object.readdirSync (fs.js: 376: 18)

Ho un'applicazione/modelli nella stessa directory. Ho già controllato "/ application/models /" e "application/models /" ma non ci sono riuscito. Vedo la stessa cosa in esecuzione sul server.

Per favore aiuto

Grazie

40
Sharmaji

Se si utilizza il percorso relativo quando si chiama readdirSync, assicurarsi che sia relativo a process.cwd(). Tuttavia, "request" dovrebbe essere relativo allo script corrente.

Ad esempio, vista la seguente struttura

server.js (node process)
/lib/importer.js (the current script)
/lib/application/models/

potresti dover scrivere importer.js come:

var fs = require('fs');
var files = fs.readdirSync('./lib/application/models/');
for (var i in files) {
  var definition = require('./application/models/' + files[i]).Model;
  console.log('Model Loaded: ' + files[i]);
}
48
ivan loire

Hai provato quanto segue?

var files = fs.readdirSync(__dirname+'/application/models/');
12
Van Coding