تسببت تثبيتتي في مجلد فرعي في ظهور أخطاء مستمرة في وحدة تحكم 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) أيضًا؟