Я создаю приложение React / Redux, которое, помимо прочего, будет воспроизводить звук при нажатии кнопки.Я пытаюсь использовать модуль nodejs fs.readdirSync для создания массива объектов, содержащих путь к файлу и свойство title.Следующий код хорошо работает сам по себе, когда я запускаю его с использованием узла:
const path = require('path');
const fs = require('fs');
const directoryPath = path.join(__dirname, '/electro');
const files = fs.readdirSync(directoryPath);
const re = /(?<=-\d\d-)(.*)(?=.wav)/g;
const drumObjects = [];
files.forEach((file) =>{
drumObjects.push({
name:file.match(re)[0],
path: `${ process.cwd()}/${directoryPath}/${file}`
})
});
console.log(drumObjects);
exports.drumObjects = drumObjects;
Далее я попытался импортировать массив drumObjects
в мой редуктор и установить его как itialstate, однако, когда я это делаю, я получаюследующая ошибка в консоли браузера:
ElectroKit.js:7 Uncaught TypeError: fs.readdirSync is not a function
at Object.eval (ElectroKit.js:7)
at eval (ElectroKit.js:20)
at Object../src/drum_audio/ElectroKit.js (transformed.js:1937)
at __webpack_require__ (transformed.js:725)
at fn (transformed.js:102)
at eval (root_reducer.js:13)
at Object../src/reducers/root_reducer.js (transformed.js:1961)
at __webpack_require__ (transformed.js:725)
at fn (transformed.js:102)
at eval (store.js:9)
Я много гуглил и смотрел несколько видео о том, как работает nodejs, но сейчас мне кажется, что это очень большая тема для изучения.Может кто-нибудь сказать мне лучший способ перебрать файлы в папке, создать массив объектов на основе этих файлов и затем загрузить его в начальное состояние редукторного редуктора?
Большое спасибо гуру SO, Джоэл