ما الذي تتحقق منه هذه الأداة
لا يزال جزء كبير من الويب يُرسل ناتج webpack، وبنيته تستحق أن تُفهم بحد ذاتها — بمعزل عن الرسم البياني العام للتبعيات المستقل عن أداة التجميع الذي ترسمه أداة تصور تبعيات حزمة JS. تبحث هذه الأداة تحديدًا عن مكونات حزمة webpack:
- بيئة التشغيل — الدالة بشكل
__webpack_require__التي يحملها كل بناء webpack، تُكتشف عبر الآلية الدقيقة التي تستخدمها لاستدعاء وحدة (modules[moduleId].call(module.exports, module, module.exports, require))، لا بالبحث عن الاسم الحرفي. تنجو هذه الآلية من إعادة تسمية كاملة للمعرّفات، فتظل تطابق بناءً صُغِّرت فيه كل الأسماء. - خريطة الوحدات — سواء بالشكل الكلاسيكي ككائن (
{0: fn, 1: fn, ...}) أو بشكل مصفوفة ([fn, fn, ...]) الذي تستخدمه إصدارات webpack الأحدث افتراضيًا. - بيانات chunk-push — في البناءات المقسّمة، الاستدعاء
(self.webpackChunkXxx = self.webpackChunkXxx || []).push([[chunkIds], {modules}, runtime])، مع استخراج اسم الجزء ومعرّفاته. - مساعدات بيئة التشغيل — أيٌّ من
.m(خريطة الوحدات) و.c(ذاكرة تخزين الوحدات) و.d(تعريف getter) و.o(hasOwnProperty) و.n(getter للتصدير الافتراضي) و.s(معرّف وحدة الدخول) و.p(المسار العام) موجود.
اختر أي وحدة من القائمة لرؤية شيفرتها الحقيقية في لوحة بتمييز صياغي — دون أي تنفيذ، فقط النص الذي لفّه webpack نفسه حول تلك الوحدة.
عندما لا يكون webpack
إن لم يُعثر لا على بيئة التشغيل ولا على خريطة وحدات، تقول الأداة "هذا لا يبدو ناتج webpack" بدل فرض تخمين، وتضيف تلميحًا رخيصًا وصادقًا إن وُجد — تعليق //# sourceMappingURL=، أو كون الملف يُحلَّل كوحدة ES (شائع في نواتج Rollup وesbuild وVite).
قيد معروف
حزمة مرّت عبر webpack ثم عبر تصغير ثانٍ أكثر عدوانية يعيد أيضًا تسمية أسماء خصائص بيئة التشغيل نفسها قد تفلت من فحص شكل .call() وتُبلَّغ كأنها ليست webpack. هذا اختيار متعمّد: سلبية كاذبة نادرة أفضل من اختلاق خريطة وحدات غير موجودة فعليًا.
الخصوصية
كل شيء يعمل في متصفحك عبر محلّل JavaScript حقيقي (acorn). الملف الذي تلصقه أو ترفعه لا يُرسل إلى أي مكان أبدًا.
Tiny Online Tools







