генерировать путь к файлу для редукса, используя узел - PullRequest
0 голосов
/ 21 сентября 2018

Я создаю приложение 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, Джоэл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...