Node.js NodeJS Express枚举文件夹中的文件
对不起,我是NodeJS Express的新手。我想从文件夹中获取所有文件。我尝试了以下操作,但不起作用,测试始终为空字符串:Node.js NodeJS Express枚举文件夹中的文件,node.js,express,Node.js,Express,对不起,我是NodeJS Express的新手。我想从文件夹中获取所有文件。我尝试了以下操作,但不起作用,测试始终为空字符串: var express = require('express'); var router = express.Router(); var fs = require('fs'); router.get('/', function(req, res, next) { var test = ''; const testFolder = './public/
var express = require('express');
var router = express.Router();
var fs = require('fs');
router.get('/', function(req, res, next) {
var test = '';
const testFolder = './public/images';
fs.readdir(testFolder, (err, files) => {
test = files[0];
})
res.render('index', { title: 'Express', file: test });
});
基本上,我想从公共图像文件夹中获取所有文件名 这里的问题是
res.render()
将在test
分配给文件[0]
之前执行,因为fs.readdir
是异步过程。在调用回调之前,执行res.render
。此外,如果您试图从文件夹中获取所有文件,则应传递files
array。有关更多信息,请查看。你可能想试试下面的代码
var express = require('express');
var router = express.Router();
var fs = require('fs');
router.get('/', function(req, res, next) {
var test = '';
const testFolder = './public/images';
fs.readdir(testFolder, (err, files) => {
// test = files[0]; this will assign test to the first element of the array of file
test = files;
res.render('index', { title: 'Express', file: test });
})
});
仍处于节点上的学习曲线上。谢谢你的帮助。