مسار خريطة المصدر سيئ في تثبيت المجلد الفرعي

تسببت تثبيتتي في مجلد فرعي في ظهور أخطاء مستمرة في وحدة تحكم Firefox مفادها عدم القدرة على العثور على خرائط المصادر (source maps).

خطأ في خريطة المصدر: فشل الطلب مع حالة 404 عنوان المورد: [https://redacted.com/community/assets/admin-…1d82fc1b0c7d1f24b7b71256a4eb4860f1aa96444925a361d8c24425c.js](https://redacted.com/community/assets/admin-e1c3cbc1d82fc1b0c7d1f24b7b71256a4eb4860f1aa96444925a361d8c24425c.js) عنوان خريطة المصدر: /assets/admin-e1c3cbc1d82fc1b0c7d1f24b7b71256a4eb4860f1aa96444925a361d8c24425c.js.map

كما تلاحظ، فإن بادئة المسار /community مفقودة من عنوان خريطة المصدر.

لذلك قمت ببعض البحث.

يُنفذ الملف lib/tasks/assets.rake ما يلي:

  assets = cdn_relative_path("/assets")
  source_map_root = assets + ((d = File.dirname(from)) == "." ? "" : "/#{d}")

أما دالة cdn_relative_path في الملف lib/global_path.rb فتبدو كالتالي:

module GlobalPath
  def path(p)
    "#{GlobalSetting.relative_url_root}#{p}"
  end

  def cdn_path(p)
    GlobalSetting.cdn_url.blank? ? p : "#{GlobalSetting.cdn_url}#{path(p)}"
  end

  def upload_cdn_path(p)
    if SiteSetting.Upload.s3_cdn_url.present?
      p = Discourse.store.cdn_url(p)
    end

    (p =~ /^http/ || p =~ /^\/\//) ? p : cdn_path(p)
  end

  def cdn_relative_path(path)
    if (cdn_url = GlobalSetting.cdn_url).present?
      URI.parse(cdn_url).path + path
    else
      path
    end
  end

كما تلاحظ، فإن كلًا من cdn_path و upload_cdn_path يستدعيان في النهاية دالة path التي تضمن إضافة بادئة المجلد الفرعي. ومع ذلك، فإن cdn_relative_path لا تستدعي دالة path، بل ترجع ببساطة معاملها (المسمى… path).

بالمناسبة، أعتقد أن دالة cdn_path تحتاج إلى إرجاع path(p) في الجزء الأوسط من العملية الشرطية (ternary) أيضًا؟

إعجاب واحد (1)

@sam هو الخبير في خرائط المصادر

@david قد يكون قد تدخل في هذا من قبل، لكن نعم، ضبط المسارات بشكل صحيح لـ CDN + المجلد الفرعي ليس بالأمر السهل. أنا منفتح على طلب سحب (PR) يصلح المشكلة بشرط أن يكون موجهاً بدقة نحو تركيبتك السحرية هذه ولا يتسبب في تدهور أي مكان يعمل حالياً.

3 إعجابات

@سام هل لدينا بعض الحلول لهذه المشكلة المتعلقة بخريطة مصدر غير صحيحة؟ لدي نفس المشكلة مع تثبيت المجلد الفرعي وشبكة Fastly CDN.

توصيتي هي مجرد الانتظار قليلاً، فنحن ننتقل إلى Ember CLI الذي سيحل محل خط الأنابيب بالكامل.

إعجابَين (2)

@سام متى سننتقل إلى Ember CLI؟ لدينا نفس المشكلة مع التثبيت في مجلد فرعي وشبكة Fastly CDN

هذه الخطوة قيد التنفيذ، ويمكنك بالفعل التطوير محليًا باستخدام Ember CLI خلال بضعة أشهر قادمة.

إعجابَين (2)

أعتقد أنه يجب حل هذا الأمر باستخدام ember-cli؟ @david هل تعرف ما إذا كان هذا هو الحال؟

إعجابَين (2)

نعم، لقد أجريت عددًا من التحسينات على source-map خلال الأسابيع القليلة الماضية، والتي تنطبق على كل من خطوط أنابيب ‘legacy’ و Ember-CLI.

لقد تحققت للتو من أحد مواقع المجلدات الفرعية المستضافة لدينا على tests-passed، ويبدو أن الأمور تعمل بشكل أفضل بكثير :ok_hand:

5 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 12 يومًا. لم يعد يُسمح بالردود الجديدة.