** Изменить, я считаю, что это проблема с исходным шаблоном, с которого я начал (один с использованием пакета), и в нем отсутствует какая-то часть, вызывающая эту проблему. Кажется, это прекрасно работает с шаблоном электронного быстрого запуска **
Я поискал и не нашел решения. На YouTube есть видеоурок, показывающий, как читать из файловой системы: https://www.youtube.com/watch?time_continue=292&v=PQZEymiWFh8
Но я реализую то же самое, но получаю эту ошибку fs.readFile is not a function. Однако я делаю это в приложении для реагирования электронов. Вот как я это настраиваю:
const fs = require('fs');
const { dialog } = window.require('electron').remote;
...
getFile() {
dialog.showOpenDialog((fileNames) => {
// fileNames is an array that contains all the selected
if (fileNames === undefined){
console.info("No file selected");
return;
}
fs.readFile(fileNames[0], 'utf-8', (err, data) => {
if (err){
alert("An error ocurred reading the file :" + err.message);
return;
}
// Change how to handle the file content
console.info("The file content is : " + data);
});
});
}
Он получает имя файла, но fs.readFile выдает ошибку "не функция". Кто-нибудь знает решение этой проблемы, как это работает в этом обучающем видео?
Это показывает, как это сделать, чем я уже занимаюсь. Не вижу, чтобы кто-нибудь еще спрашивал об этой ошибке, пытаясь узнать, не сталкивался ли кто-нибудь с этой проблемой
Прекрасно работает на моей коробке. Шаги, которые я предпринял: 1) клонировать электронное быстрое начало 2) отредактировать renderer.js, чтобы требовать сам fs и fs.readFile и записать его собственный источник в консоль 3) npm install 4) npm start 5) проверил консоль и, конечно же, там он является.
хм, может быть, котелок, с которого я начал. Я использую шаблон посылки, который нашел в Интернете
В этой сборке у меня нет renderer.js. Я пройдусь по нему и увижу различия между моей сборкой и электронным быстрым запуском, а затем перейду к этому. Спасибо
Я бы (и это почти всегда хорошая идея) разделил бы его до минимального тестового примера, закомментировал все, кроме того, что требуется для чтения файла в текущем каталоге (например, самого себя, если применимо), и записал содержимое / ошибку в консоль. Или вы можете просто начать с того скелета приложения, о котором я упоминал.
Без проблем. Если вы отредактируете свой вопрос (может быть тривиальным), я уберу голос против.
@JaredSmith Спасибо, Джаред. Я добавил заметку вверху
Похоже, вы пытаетесь прочитать файл в процессе рендеринга?
что такое window.require? Если вы прикрепили там require (хотя не знаю почему), то вы должны использовать его и в случае fs. Кроме того, более чистый подход - отправить сообщение ipc на главную и выполнить эту работу там.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Возможный дубликат Электронная функция для чтения локального файла - FS - Не читает