02 / Руководство для начинающих / Чтение: 8 мин
Как пользоваться REA: проследите работу кнопки экспорта
Вы нажимаете «Export notes», но куда сохраняется CSV? Проследите путь кнопки в небольшом приложении Electron с REA, затем проверьте код форматирования файла.
На этой странице
- Скачивать небольшое приложение и передавать REA путь к его папке.
- Находить обработчик экспорта и предполагаемое место сохранения:
Downloads/notes.csv. - Выполнять короткую проверку корректности экспорта запятых и кавычек.
01. Выберите один вопрос
«Объясни это приложение» — слишком широкий запрос. Начните с поведения, которое можете назвать, и ответа, который можете проверить:
Когда я нажимаю Export notes, куда сохраняется CSV и что происходит, если заголовок заметки содержит запятые или кавычки?Мы используем официальный пример REA Notes: шесть небольших файлов, представляющих приложение Electron. Это учебный пример, а не рабочее приложение. Для статического анализа установка Electron не требуется.
02. Получите пример
Скачайте notes-example.zip с rea.tools и распакуйте в новую папку. Сохраните путь к ней. Внутри должны быть:
notes-example/
package.json
index.html
renderer.js
preload.js
main.js
csv.jsЕсли REA ещё не подключена, воспользуйтесь руководством по установке. Этот пример можно исследовать без запуска окна приложения.
03. Попросите агента исследовать пример
Замените путь в этом запросе абсолютным путём к распакованной папке.
Используй REA для статического анализа /absolute/path/to/notes-example. Проследи кнопку Export notes через renderer, мост preload и главный процесс. Покажи путь выходного файла, столбцы CSV и файлы со строками, подтверждающими ответ. Не запускай Electron. Отдели наблюдаемый код от предположений.Также можно собрать данные статического анализа REA прямо из терминала:
npx -y [email protected] analyze-javascript-application "/absolute/path/to/notes-example" --json > notes-analysis.jsonКоманда фиксирует версию, использованную в этом разборе. JSON содержит данные анализа, а не объяснение на естественном языке; программирующий агент использует его для дальнейшего исследования.
04. Проследите путь экспорта
Ответ: код приложения предусматривает сохранение notes.csv в системную папку загрузок. Настройка находится в main.js. Вот как кнопка доходит до этого кода.
В Electron страница и основная часть приложения работают раздельно. Preload предоставляет метод, доступный странице. IPC — сообщение, передающее запрос основной части приложения, которая может записать файл.
| Расположение | Что делает код |
|---|---|
renderer.js | Обработчик нажатия вызывает window.notes.exportCsv(). |
preload.js | Предоставленный метод использует notes:export как канал IPC. |
main.js | Соответствующий обработчик формирует путь в папке загрузок и записывает notes.csv. |
csv.js | Средство форматирования записывает id,title, заключает каждый заголовок в кавычки и удваивает внутренние кавычки. |
Код использует API Electron app.getPath("downloads"). Это устанавливает предполагаемое место сохранения, но не доказывает фактическую запись файла на вашем компьютере. Ниже мы напрямую проверяем форматирование.
05. Проверьте предсказание
Передайте средству форматирования заметку с заголовком Hello, "REA". Ожидаемая строка CSV:
id,title
1,"Hello, ""REA"""Запятая остаётся внутри одного поля в кавычках. Каждая внутренняя кавычка превращается в две. Для проверки сохраните следующий код как check.cjs в распакованном каталоге notes-example :
const assert = require("node:assert/strict");
const { toCsv } = require("./csv.js");
const actual = toCsv([{ id: 1, title: 'Hello, "REA"' }]);
const expected = 'id,title\n1,"Hello, ""REA"""\n';
assert.equal(actual, expected);
console.log(actual);
console.log("PASS: comma and quotes stay in one field.");node check.cjsПроверено локально. Мы выполнили статический анализ REA 6.4.0 и эту проверку форматирования 12 октября 2026 г. Вывод совпал. Мы не запускали интерфейс Electron и не проверяли разрешения файловой системы через кнопку экспорта.
06. Продолжите с более точным вопросом
Теперь попробуйте уточнение, проверяющее объяснение, вместо запроса ещё одного общего описания:
Если запись notes.csv завершится ошибкой, как она вернётся на страницу? Проследи обработку ошибок в предоставленных файлах. Укажи отсутствующие обработчики, но не изменяй приложение.Сохраняйте в каждом отчёте три вещи: вывод, его место в исходном коде и то, что вы действительно проверили. Так проще заметить правдоподобное объяснение, выходящее за рамки данных.
Далее / Пример с реальным пакетомУзнайте, почему сформированный URL всё ещё содержит «!».Пример и порядок работы: Официальное первое исследование REA. Эта страница — независимый разбор с дополнительным локальным анализом и проверкой форматирования. Скачать резюме анализа.
Впервые используете инструмент? Что такое REA? · Как мы проверяем руководства