Я столкнулся с той же проблемой, и, хотя у меня самый последний файл node.js (v10.16 в настоящее время) и intellisense в VS Code, соответствует онлайн-документации , реальность во время выполнения меня удивила , Но это потому, что код исполняется node.js v10.2 (внутри расширения кода VS).
Так что на node.js 10.2 этот код работает для меня, чтобы получить файлы в directory
:
import * as fs from 'fs';
import util = require('util');
export const readdir = util.promisify(fs.readdir);
let fileNames: string[] = await readdir(directory)
// keep only files, not directories
.filter(fileName => fs.statSync(path.join(directory, fileName)).isFile());
В последнем файле node.js тот же код можно упростить следующим образом:
let fileEnts: fs.Dirent[] = await fs.promises.readdir(directory, { withFileTypes: true });
let fileNames: string[] = fileEnts
.filter(fileEnt => fileEnt.isFile())
.map(fileEnt => fileEnt.name);
Фрагменты кода в Typescript.