추적 Electron
CSV 수출.

따라 버튼을 클릭에서 페이지의 API 를 통해ElectronIPC 을CSV파일 작가입니다.

"노트 내보내기"는 어디로 갑니까?

이 가이드는 작은 Electron 앱 클릭 노트 내보내기 이 페이지에서는 기본 프로세스로 넘어가면서 이 페이지에서는 기본 프로세스로 넘어가면서 이 페이지에서는 기본 프로세스로 넘어가면서 이 페이지에서는 기본 프로세스로 넘어가면서 CSV. 이 동작은 여러 파일에 분산되어 있습니다.

이CSV내보내기 전Electron프로세스

  1. 렌더러→프리로드notes.exportCsv()renderer.js 에 의해 노출 된 호출 preload.js.
  2. 프로세스 간notes:export기본 프로세스에 대한 명명된 메시지입니다.
  3. 주요 과정내보내기 처리기main.js 그 채널을 처리하고 CSV 작가

csv.js 메모의 형식을 지정합니다. main.js 글쓰기 downloads/notes.csv.

REA치 리터럴 IPC 함수 호출 핸들러를 식별하고 노출된 API 를 사용합니다. 경로는 코드에서 추론됩니다.런타임 캡처는 실행되는 것을 확인할 수 있습니다.

에 대해 물어 CSV 수출

에이전트에 연결 REA 그리고 그것을 응용 프로그램 디렉토리 또는 제공 ASAR 파일:

코딩 에이전트

사용 REA 이 응용 프로그램에 메모를 내보낼 때 어떻게되는지 찾을 수 있습니다. 어디 CSV 생성?

예 프롬프트. 응용 프로그램 폴더에 대한 절대 경로를 포함하거나 app.asar.

REA 응용 프로그램 파일을 읽고 엔트리 포인트,모듈 및 프로세스 경계의 맵을 작성합니다. 에이전트가 해당 맵을 사용하여 조사 범위를 내보내기 기능으로 좁힙니다.

내보내기 코드 추적

이 페이지는 작은 파일을 호출합니다.

renderer.js *예제 소스
document.querySelector("#export").addEventListener("click", async () => {
  const destination = await window.notes.exportCsv();
  document.querySelector("#status").textContent = `Saved to ${destination}`;
});

페이지는 메소드 이름을 알고 있습니다. 구현은 사전 로드에 존재하며,이는 렌더러에 노출됩니다.

preload.js *예제 소스
contextBridge.exposeInMainWorld("notes", {
  exportCsv: () => ipcRenderer.invoke("notes:export"),
});

REA 기록 notes.exportCsv 그리고 문자 그대로의 채널 notes:export. 이 호출은 주 프로세스의 단일 일치 핸들러와 쌍을 이룹니다.

main.js *예제 소스
ipcMain.handle("notes:export", () => {
  const destination = path.join(app.getPath("downloads"), "notes.csv");
  writeFileSync(destination, toCsv(notes), "utf8");
  return destination;
});

핸들러를 읽으면 원래 질문에 답합니다: csv.js 메모의 형식을 지정하고 주요 프로세스는 씁니다 notes.csv 사용자의 다운로드 폴더에 넣습니다.

REA결과·요약입니다.발췌
{
  "literal_channels": 1,
  "renderer_transmissions": 1,
  "main_handlers": 1,
  "paired_renderer_transmissions": 1,
  "ambiguous_renderer_transmissions": 0
}

녹음된 REA 4.1.0 아래 다운로드 가능한 예제에서. 소스 위치는 채널 및 핸들러 검색 결과와 함께 제공됩니다.

예제를 직접 분석하십시오

예제를 다운로드하고 압축을 풉니 다. 아카이브에는 전체 notes-example 폴더 그것을 분석 Node.js 그리고 npm; Electron 이 예제에는 필요하지 않습니다.

다운로드 예제 우편 번호

여섯 소스 파일을 찾아
정적 애플리케이션 분석
npx -y rea-agents@latest analyze-javascript-application \
  /absolute/path/to/notes-example --json

경로를 압축을 푼 폴더로 바꿉니다. 하나의 채널 및 하나의 일치하는 핸들러를 찾아야합니다. normalized_result.summary.ipc. 소스 위치는 normalized_result.graph.

자신의 앱의 경우 디렉터리와 동일한 명령을 사용하거나 ASAR 경로. 에이전트는 다음과 같이 리터럴 문자열,이름 또는 채널을 따를 수 있습니다 REA기능 추적 도구입니다.

검사CSVwriter

팔로우 notes:export 그 담당자에게 어떤 입력들이 CSV 작성자,그리고 파일 작성이 실패하면 어떻게됩니까?

원본 위치를 사용하여 해당 세부 정보를 검사합니다. 계산된 채널 이름 및 모호한 처리기는 해결되지 않은 상태로 유지될 수 있으며 런타임 관찰을 통해 이를 조사하는 또 다른 방법을 제공합니다.

상단