A obter os ficheiros do nó de directório Js

Estou a usar o readDirSync para obter os ficheiros de uma Diretoria. Por favor, Encontre o código e o erro Como 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]);
}
Estou a receber um erro na linha 2 . ENOENT, no such file or directory"./ application / models / ' at Object.readdirSync (fs.js:376:18)

Tenho aplicações / modelos na mesma pasta. Eu já verifiquei para '/ application / models / ' e 'application / models /' but failed. Consigo ver a mesma coisa a funcionar no servidor.

Por favor. ajuda

Obrigado.
 32
Author: Raynos, 2011-09-13

2 answers

Se estiver a usar um caminho relativo ao chamar readdirSync, Certifique-se que é relativo a process.cwd(). No entanto, "require" deve ser relativo ao script atual.

Por exemplo, dada a seguinte estrutura

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

Pode ter de escrever importador.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]);
}
 36
Author: ivan loire, 2016-01-18 15:03:01
Já tentaste o seguinte?
var files = fs.readdirSync(__dirname+'/application/models/');
 6
Author: Van Coding, 2011-09-13 12:09:44