Pregunta Recuperando archivos de J del nodo del directorio


Estoy usando readDirSync para obtener los archivos de un Diretory. Por favor encuentre el código y el error de la siguiente manera.

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]);
}

Recibo un error para la línea número 2. ENOENT, No existe dicho archivo o directorio './application/models/' en Object.readdirSync (fs.js: 376: 18)

Tengo aplicaciones / modelos en el mismo directorio. Ya revisé para '/ application / models /' y 'application / models /' pero falló. Puedo ver lo mismo que se ejecuta en el servidor.

Por favor ayuda

Gracias


32
2017-09-13 11:48


origen


Respuestas:


Si está utilizando una ruta relativa cuando llama readdirSync, asegúrese de que sea relativo a process.cwd(). Sin embargo, "requerir" debe ser relativo a la secuencia de comandos actual.

Por ejemplo, dada la siguiente estructura

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

es posible que necesites escribir importer.js como:

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]);
}

35
2018-03-20 23:32



¿Has intentado lo siguiente?

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

6
2017-09-13 12:09