تتبع Electron
CSV تصدير.

اتبع نقرة زر من واجهة برمجة تطبيقات الصفحة ، من خلال Electron التصنيف الدولي للبراءات ، إلى 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 يطابق دعوة إيبك الحرفية إلى معالجها ويحدد أبي المكشوفة. يتم استنتاج المسار من التعليمات البرمجية ؛ يمكن لالتقاط وقت التشغيل التحقق مما يتم تنفيذه.

اسأل عن 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أدوات تتبع الميزات.

فحص CSV كاتب

اتبع notes:export إلى معالجها. المدخلات التي تصل إلى CSV كاتب, وماذا يحدث إذا فشلت كتابة الملف?

استخدم مواقع المصدر لفحص هذه التفاصيل. يمكن أن تظل أسماء القنوات المحسوبة والمعالجات الغامضة دون حل ؛ تمنحك ملاحظات وقت التشغيل طريقة أخرى للتحقيق فيها.

أعلى