Moment: Webpack - التبعية الحرجة: طلب التبعية هو تعبير بـ 2.25.0

تم إنشاؤها على ١ مايو ٢٠٢٠  ·  35تعليقات  ·  مصدر: moment/moment

لقد قمت هذا الصباح بترقية اللحظة من 2.24.0 إلى 2.25.0 وبدأت في تلقي هذا التحذير من إصدار Webpack الخاص بي:
Critical dependency: the request of a dependency is an expression

الإصدارات التي أستخدمها:
البلع - 4.0.2
حزمة الويب - 4.43.0
بابل - 7.9.6

لم تحدث أي تحديثات أخرى بينهما. تم تحديث Mom.js فقط وظهر التحذير.

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

نفس الشيء هنا ، قفل إصدار الحزمة إلى 2.24.0 يساعد في الوقت الحالي ...

ال 35 كومينتر

المشكلة نفسها

المشكلة نفسها
بعد التثبيت في تطبيق Laravel vue.
WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13 Critical dependency: the request of a dependency is an expression @ ./node_modules/moment/src/lib/locale/locale.js @ ./node_modules/moment/src/moment.js @ ./resources/js/app.js @ multi ./resources/js/app.js ./resources/sass/app.scss

نفس الشيء هنا ، قفل إصدار الحزمة إلى 2.24.0 يساعد في الوقت الحالي ...

نفس المشكلة هنا! حرج!

لقد كان نفس القضية! تم قفل المنجم إلى 2.24.0 وثبّت بنيتي

معار

كذلك هنا. 2.25.0 يعطي هذه المشكلة ولكن ليس 2.24.0. التغييرات في 2092: 16-2096: 17 في moment.js هو الجذر.

نفس المشكلة ، ولكن الغريب فقط عند التشغيل كمطور (هذا مشروع nuxt) يبدو أن المشكلات موجودة في src/lib/locale/locales.js line 78-82 ،

التغيير:
`` جافا سكريبت
aliasedRequire (
(typeof __dirname! == undefined؟ __dirname: '.') +
'/ locale /' +
اسم
) ؛
to: جافا سكريبت
aliasedRequire ('../ locale /' + name) ؛
""
يعمل على إصلاح المشكلة بالنسبة لي

أحصل عليه في كل من يبني dev و prod من خلال الإعداد الخاص بي.

نفس الشيء هنا ، قفل إصدار الحزمة إلى 2.24.0 يساعد في الوقت الحالي ...

نعم ، هذا هو الحل الواضح ، ولكنه ليس حلاً حقًا :-).

أحصل أيضًا على نفس التحذير وأحصل على أخطاء وحدة التحكم التالية ، في متصفح الويب للتطبيق الزاوي أثناء الاتصال بـ moment.format() .

ERROR TypeError: __WEBPACK_IMPORTED_MODULE_2_moment__ is not a function
(main.bundle.js:11539)
Show 102 more frames

كذلك هنا

أكد كذلك

انتظر لحظة - هذا تحذير وليس خطأ. هل ما زالت تنتج حزمة؟

مع لحظة 2.25.0:

% ./node_modules/.bin/webpack
Hash: 42b60d02778538c038dc
Version: webpack 4.43.0
Time: 497ms
Built at: 05/01/2020 4:56:43 PM
    Asset      Size  Chunks             Chunk Names
bundle.js  72.2 KiB       0  [emitted]  main
Entrypoint main = bundle.js
[13] ./node_modules/moment/src/lib/units/month.js + 1 modules 9.92 KiB {0} [built]
     |    2 modules
[26] ./node_modules/moment/src/lib/create/valid.js + 1 modules 1.88 KiB {0} [built]
     |    2 modules
[36] ./node_modules/moment/src/lib/create/from-anything.js + 8 modules 25.1 KiB {0} [built]
     |    9 modules
[46] (webpack)/buildin/harmony-module.js 573 bytes {0} [built]
[47] ./node_modules/moment/src/lib/locale sync 160 bytes {0} [optional] [built]
[48] ./src/index.js + 54 modules 84.6 KiB {0} [built]
     | ./src/index.js 62 bytes [built]
     |     + 54 hidden modules
    + 43 hidden modules

WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/moment/src/lib/locale/locale.js
 @ ./node_modules/moment/src/moment.js
 @ ./src/index.js

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/

ويعمل.

مع [email protected] :

% ./node_modules/.bin/webpack
Hash: c16dbd62d51ed42203b2
Version: webpack 4.43.0
Time: 559ms
Built at: 05/01/2020 4:58:27 PM
    Asset     Size  Chunks                    Chunk Names
bundle.js  263 KiB       0  [emitted]  [big]  main
Entrypoint main [big] = bundle.js
[128] ./src/index.js 62 bytes {0} [built]
[129] (webpack)/buildin/module.js 497 bytes {0} [built]
[130] ./node_modules/moment/locale sync ^\.\/.*$ 3 KiB {0} [optional] [built]
    + 128 hidden modules

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  bundle.js (263 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (263 KiB)
      bundle.js


WARNING in webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

وما زال يعمل.

انتظر لحظة - هذا تحذير وليس خطأ. هل ما زالت تنتج حزمة؟

نعم إنها كذلك. لا يزال - مزعجًا وخاطئًا ويجعل إخراج البناء مليئًا بالآثار السيئة.

أرى هذا أيضًا ، ولكن فقط في عمليات إنشاء الإنتاج عبر CI الخاص بنا.

jontybrook كنت أرى نفس السلوك ولكن بعد nuking مجلد node_modules ، تمكنت من إعادة إنتاج هذا محليًا.

يجب إعادة الكود الذي يحتوي على __dirname والذي كان يعمل على إصلاح مشكلة لرد الفعل الأصلي حتى تتمكن (مستخدمي حزمة الويب) من إلقاء نظرة على إخراج وحدة تحكم أفضل.

ثابت في 2.25.1

هذا ليس له علاقة بإخراج وحدة التحكم بشكل أفضل ... ولكن بدلاً من إنشاءات كسر الكود التي تم اختبارها بشكل مثالي للعديد من الأشخاص!

يسعدنا سماع أنه تم إصلاحه ونشره منذ دقائق - أمضينا الساعات العديدة الماضية في البحث في نهايتنا في محاولة للعثور على السبب

هذا ليس له علاقة بإخراج وحدة التحكم بشكل أفضل ... ولكن بدلاً من إنشاءات كسر الكود التي تم اختبارها بشكل مثالي للعديد من الأشخاص!

بالضبط ! تحذير اليوم هو خطأ محتمل غدا.

لقد كان أسوأ بكثير من تحذير ... إذا كنت تشغل بالصدفة المنطقة الزمنية اللحظية التي تسحب ديناميكيًا في أحدث إصدار من اللحظة ، فقد تسبب هذا في كسر كامل للشفرة!

انتظر لحظة - هذا تحذير وليس خطأ. هل ما زالت تنتج حزمة؟

إذا كان إنتاج الحزمة هو النتيجة الوحيدة المرغوبة ...

يجب إعادة الكود الذي يحتوي على __dirname والذي كان يعمل على إصلاح مشكلة لرد الفعل الأصلي حتى تتمكن (مستخدمي حزمة الويب) من إلقاء نظرة على إخراج وحدة تحكم أفضل.

ثابت في 2.25.1

لماذا السخرية ؟! الإخراج النظيف مهم. في الإعداد الخاص بي ، قمت بوضع إحصائيات ومقاييس مهمة بالنسبة لي وإغراقها بأشياء غير ضرورية تجعل القراءة متعبة وتبطئ عملي على أقل تقدير. ثم تأتي حقيقة أن التحذير هو دائمًا شيء لا ينبغي تجاهله على المدى الطويل. أخيرًا ، ولكن في الواقع أولاً - اتضح أنه كسر حقًا لبعض الإعدادات كما ذكرت

سعيد لرؤية هذا ثابتة. سيستمر مع 2.24.0 حتى إصدار أحدث أو قد يحتفظ به ... استغرق وقتًا طويلاً لمعرفة سبب تعطل تطبيق الويب هذا الصباح بعد نشره.

مستخدمو حزمة الويب "أنت" ... يُعرف أيضًا باسم جزء كبير من مطوري تطبيقات الويب. ليس لدينا حاليًا أي بيانات إضافية قادمة من عملية حزمة الويب الخاصة بنا ، لذلك لا أريد إلقاء نظرة على مخرجات وحدة تحكم أفضل ، بل أريدها فقط أن تعمل.

لا تزال تسبب المشكلات: https://github.com/moment/moment/issues/5472

يجب إعادة الكود الذي يحتوي على __dirname والذي كان يعمل على إصلاح مشكلة لرد الفعل الأصلي حتى تتمكن (مستخدمي حزمة الويب) من إلقاء نظرة على إخراج وحدة تحكم أفضل.

ثابت في 2.25.1

بغض النظر عن السخرية ، v2.25.1 لا يصلح أي شيء فعليًا (التحذير Module not found لا يزال موجودًا). عادةً ما أمتنع عن انتقاد المساهمين من المصادر المفتوحة الذين يتطوعون بوقتهم ، ولكن من فضلك ليس لديك موقف تجاه المستخدمين الذين يقومون ببساطة بالإبلاغ عن المشكلات. ونعم ، التحذيرات لسبب ما. يؤدي تجاهلها إلى حجب جميع أنواع المعلومات الأخرى وعادة ما يؤدي إلى شيء معطل في الطريق.

لا ينبغي إغلاق هذه المشكلة ... إنها تغيير جذري لمستخدمي المنطقة الزمنية اللحظية الذين يستخدمون حزمة الويب ، وليست مجرد مشكلة في إظهار تحذير (والتأثير على عدد هائل من الأشخاص)

نفس المشكلة
لا تصلح 2.25.0
لا تصلح 2.25.1
لا تصلح 2.25.2

أريدك أن تعود إلى النسخة الأصلية.

بيئة فحص العملية
https://github.com/standard-software/partsjs/tree/v5.0.0
package.json

غي هذا غير ثابت! لا يمكننا إغلاق العيوب حتى يتم حلها خاصة عند كسر البنيات الموجودة مثل Webpack ؟! ichernev يرجى إعادة فتح هذا لأنه لم يتم حلها! سيؤدي هذا إلى كسر العديد من الأشخاص الذين يعتمدون على MomentJS ويستخدمونه مع Vanilla Webpack.

مرحبًا ، BUMP !، هذا يكسر بنيتي أيضًا ، وليس ثابتًا !.

أنا فقط أقوم بتحديث اللحظة مع npm أنا لحظة وحلها

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