#javascript #node.js
#javascript #node.js
Вопрос:
Я ищу, чтобы перебирать файлы в папке. Я не буду знать, какими будут имена файлов при запуске скрипта, я просто хочу получить имена.
Я хочу, чтобы это работало именно так, но я не могу понять, как это сделать. Я понимаю, почему это не работает, но я не понимаю, как заставить это работать так, как я хочу.
for (file in "./levels/") {
console.log(file)
}
есть ли способ заставить его работать таким образом?
Комментарии:
1. Нет способа заставить его работать так, нет. Вы должны использовать
fs
модуль, который предоставляет Node. Прочитайте документацию .
Ответ №1:
const fs = require("fs");
fs.readdirSync(".levels/").forEach(file => {
//Print file name
console.log(file)
/*
Run this to print the file contents
console.log(readFileSync(".levels/" file, {encoding: "utf8"}))
*/
})
//but if your goal is just to print the file name you can do this
fs.readFileSync(".levels/").forEach(console.log)
Комментарии:
1. у вас есть представление о том, сколько времени это занимает для файлов 1K? Есть ли какие-либо тесты?
Ответ №2:
Единственный способ перебирать каталоги и / или файлы — это использовать fs
или какую-либо стороннюю программу, такую как glob
fs.readdirSync("path/to/folder").forEach(name => console.log(name))
При этом будут выведены имена каждого файла в каталоге.
Комментарии:
1. знаете ли вы, сколько времени в среднем занимает чтение этих файлов?
Ответ №3:
Только что понял это. использование модуля fs в node.js Я могу перебирать файлы. вот код, который я использую:
fs.readdirSync("./levels/").forEach((file) => {
console.log(file)
})