모든 파일 (이름)을 디렉토리로 가져 오려고합니다. 나는 Node.js
+ Express
을 사용합니다. 여기 익스프레스 코드가 있습니다 :Express를 사용하여 디렉토리 컨텐츠를 얻는 방법은 무엇입니까?
var express = require('express');
var fs = require('fs');
var path = require('path');
var router = express.Router();
router.get('/', function (req, res) {
var filePath = path.join(path.resolve(__dirname, '..'), '/public/images/');
var directoryContent = [];
getDirectoryContent(filePath, directoryContent);
res.send(directoryContent);
});
function getDirectoryContent(dir, arr) {
fs.readdir(dir, function (err, flist) {
if (err) {
return;
}
var elemNum = 0;
var processEntry = function (entry) {
arr.push(entry);
//console.log(entry);
};
var dirIterator = function() {
processEntry(flist[elemNum]);
elemNum++;
if (elemNum < flist.length) {
process.nextTick(dirIterator);
}
};
if (elemNum < flist.length) {
process.nextTick(dirIterator);
}
});
}
module.exports = router;
하지만 결과는 [] - 빈 배열입니다. 내가 뭘 잘못하고있어?
PS
이음새가 콜백 메커니즘에 있습니다. 조금 잘못 될 수 있습니다.