Получение файлов из каталога Node Js
Я использую readDirSync для получения файлов из Diretory. PLease найти код и ошибку, как показано ниже.
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]);
}
Я получаю ошибку для строки номер 2.
ENOENT, Нет такого файла или каталога './application/models/' в Object.readdirSync(fs.js: 376: 18)
У меня есть приложение/модели в том же каталоге. Я уже проверил "/application/models/" и
'application/models/', но не удалось. Я вижу то же самое, что работает на сервере.
Пожалуйста, помогите
Спасибо
Ответы
Ответ 1
Если вы используете относительный путь при вызове readdirSync
, убедитесь, что он относится к process.cwd()
.
Однако "require" должен относиться к текущему script.
Например, учитывая следующую структуру
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]);
}
Ответ 2
Вы пробовали следующее?
var files = fs.readdirSync(__dirname+'/application/models/');