Moment: لا يعمل استيراد الوحدة النمطية في أحدث إصدار من Chrome

تم إنشاؤها على ٥ أكتوبر ٢٠١٧  ·  7تعليقات  ·  مصدر: moment/moment

وصف المشكلة وخطوات إعادة الإنتاج:

يعلن أحدث إصدار من Chrome عن دعم استيراد الوحدات الأصلية. لكن الميزة تتطلب توفير اسم ملف الوحدة النمطية الكامل (بما في ذلك الامتداد ".js").
في كود المكتبة "استيراد ..." إدخالات لا تحتوي على امتدادات ".js" التي ينتج عنها أخطاء 404 في المتصفح.

لمعلوماتك: هناك شيء واحد قد يخفي هذه المشكلة (ويفعله في بعض الأنظمة الأساسية) وهو تكوين خادم الويب.
يبدو أن خادم الويب Apache على OSX قد تم تمكين إعداد "MultiViews" افتراضيًا (مما يجعل الخادم يعثر على ملف "moment.js" إذا لم يتم العثور على ملف "للحظة") ، ولكن على Ubuntu ، على سبيل المثال ، خيار خادم الويب هذا تم تعطيل مما يؤدي إلى فشل تحميل الوحدة.

بيئة:

Chrome 61.0.3163.100 (64 بت) على Ubuntu 16.04

console.log( (new Date()).toString())
console.log((new Date()).toLocaleString())
console.log( (new Date()).getTimezoneOffset())
console.log( navigator.userAgent)
VM3015:1 Thu Oct 05 2017 19:30:43 GMT+0600 (+06)
VM3015:2 05.10.2017, 19:30:43
VM3015:3 -360
VM3015:4 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

إصدار moment.js هو 2.18.1

Help Wanted Loading

التعليق الأكثر فائدة

هذا ليس مجرد شيء كروم. بقدر ما أعرف ، تتطلب مواصفات الوحدة النمطية es6 اسم ملف في FromClause وليس مجرد سلسلة. يعمل كل من Rollup و Webpack بشكل جيد بدون امتداد الملف ، ولكن هذا فقط لتسهيل التجميع.

وبشكل عام ، من الأفضل تجنب السماح لأي مُحمل بتخمين الامتداد ، لذلك نعم ، يجب أن تكون FromClauses أسماء ملفات كاملة.

ال 7 كومينتر

هذا ليس مجرد شيء كروم. بقدر ما أعرف ، تتطلب مواصفات الوحدة النمطية es6 اسم ملف في FromClause وليس مجرد سلسلة. يعمل كل من Rollup و Webpack بشكل جيد بدون امتداد الملف ، ولكن هذا فقط لتسهيل التجميع.

وبشكل عام ، من الأفضل تجنب السماح لأي مُحمل بتخمين الامتداد ، لذلك نعم ، يجب أن تكون FromClauses أسماء ملفات كاملة.

سيكون من الجيد حقًا فرز هذا لأنه لا يعمل الإصدار المصدر ولا الإصدار المترجم عند استخدام استيراد وحدة في المتصفحات التي تدعمها.

يجب أن يكون حلاً سريعًا لمجرد إضافة امتدادات الملفات إلى الواردات.
أيضًا بالنسبة للأشخاص الذين يرغبون في استخدام الإصدار المترجم - للاستخدام العالمي لـ Moment ، يجب أن تتراجع خاصية global إلى window حيث أن this هو undefined .

من الأفضل حل هذا من خلال علاقات عامة مدفوعة من المجتمع!

هنا يا الذهاب

سيكون هذا رائعًا للاستخدام في مكون ويب البوليمر. الآن ، لم أنجح في استخدام لحظة js في مكون ويب ES6 قياسي بسبب هذا.

لا تزال هذه القضية؟ أنا قلق من أن إضافة ملحقات الملفات سيؤدي إلى تعطل Moment.js لبعض المجموعات الفرعية الأخرى من المستخدمين ...

أعتقد أن هذه نسخة مكررة من https://github.com/moment/moment/issues/4713

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات