我正在使用readDirSync从Diretory获取文件.请查找以下代码和错误.
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]);
}
Run Code Online (Sandbox Code Playgroud)
第2行我收到错误.ENOENT,在Object.readdirSync上没有这样的文件或目录'./application/models/'(fs.js:376:18)
我在同一个目录上有应用程序/模型.我已经检查过'/ application/models /'和'application/models /'但是失败了.我可以在服务器上看到同样的事情.
请帮忙
谢谢
小智 53
如果您在呼叫时使用相对路径readdirSync,请确保它是相对的process.cwd().但是,"require"应该与当前脚本相关.
例如,给出以下结构
server.js (node process)
/lib/importer.js (the current script)
/lib/application/models/
Run Code Online (Sandbox Code Playgroud)
您可能需要将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]);
}
Run Code Online (Sandbox Code Playgroud)
Van*_*ing 15
你试过以下吗?
var files = fs.readdirSync(__dirname+'/application/models/');
Run Code Online (Sandbox Code Playgroud)