从目录节点Js中检索文件

我正在使用readDirSync从Diretory获取文件。 PLeasefind代码和错误如下。

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

我得到第二行的错误。 ENOENT,在Object.readdirSync(fs.js:376:18)处没有这样的文件或目录'./application/models/'

我有相同的目录上的应用程序/模型。 我已经检查过“/ application / models /”和“application / models /”,但是失败了。 我可以看到在服务器上运行的相同的东西。

请帮忙

谢谢

如果在调用readdirSync时使用相对path,请确保它是相对于process.cwd() 。 但是, “要求”应该是相对于当前的脚本。

例如,给出以下结构

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

您可能需要将importer.js写为:

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

你有没有尝试过以下?

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