Vue: استثناء وقت التشغيل: لم يتم تعريف الأداء - مع الإصدار 2.6.9

تم إنشاؤها على ١٤ مارس ٢٠١٩  ·  12تعليقات  ·  مصدر: vuejs/vue

الإصدار

2.6.8

رابط الاستنساخ

https://jsfiddle.net/chrisvfritz/50wL7mdz/

خطوات التكاثر

يتم طرحه من ملف vue / dist / vue.js من الإصدار الأخير الذي أحاول عزله حاليًا ، ومع ذلك يبدو أنه مرتبط بالرمز الجديد الذي تمت إضافته مؤخرًا. ستضيف المزيد من الخطوات في أسرع وقت ممكن إذا كنت لا تزال لا تتبعها.
1) منسوخة مع هذا الريبو - https://github.com/vuejs/vue-test-utils-mocha-webpack-example
2) استنساخها
3) npm أنا
4) اختبار npm - لا يوجد خطأ
4) تحديث npm vue
5) اختبار npm - خطأ مرجعي: لم يتم تعريف الأداء

تحية طيبة،
بلامن

ما هو متوقع؟

لم يلاحظ أي خطأ

ما الذي يحدث بالفعل؟

لوحظ خطأ

bug has PR has workaround improvement

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

يبدو أنه في بيئة jsdom:

> window.performance
Performance {}
> performance
ReferenceError: performance is not defined

لذلك علينا استخدام window.performace بدلاً من استدعاء performance مباشرة لجعل الكود يعمل بشكل صحيح في jsdom.

ال 12 كومينتر

يرجى تقديم نسخة عند الإبلاغ عن الأخطاء

مرحبًا posva ،
لم يتم تكرار المشكلة باستخدام محرر عبر الإنترنت ، لكنني قدمت خطوات لمشروع من جيثب ضمن قسم خطوات إعادة الإنتاج.
تحية طيبة،
بلامن

الشيء الذي قمت بالربط به هو مثال مؤرشف ومهمل. ليس من الضروري أن يكون repro jsfiddle ، يمكن أن يكون ملف HTML (أو محتوياته فقط). كما يجب ألا تتضمن تبعيات أخرى مثل mocha أو vue-test-utils (قد تكون مشكلة في تلك الحزمة). في صحتك.

شكرًا على مراسلتنا.
حسنًا - سأحاول أسلوبًا آخر - لم يتم الإعلان عن "الأداء" الموجود في هذا السطر في أي مكان في الملف. لدينا window.performance و config.performance ومع ذلك لا أرى أي "أداء" عالمي. جاء مع أحدث إصدار لأن هنا غير موجود.

بمجرد تشغيل تحليل ثابت على الملف ويلقي.

تحية طيبة،
بلامن

الحصول على هذا أيضا. تلقيت تحذيرًا من CI الخاص بي بعد ترقية Vue إلى 2.6.9 (أستخدم Renovate لتحديث الأقسام باستمرار).

يبدو أنه في بيئة jsdom:

> window.performance
Performance {}
> performance
ReferenceError: performance is not defined

لذلك علينا استخدام window.performace بدلاً من استدعاء performance مباشرة لجعل الكود يعمل بشكل صحيح في jsdom.

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

تجدر الإشارة إلى أنه على الرغم من أن JSDOM لديه دعم performance عبر process.hrtime ، لا أعتقد أنه يمكننا ضمان الاختراق الحالي باستخدام performance سيعمل دائمًا كما هو متوقع في بيئة JSDOM ( إنه يختلف عن تنفيذ المتصفحات بعد كل شيء).

posva 😂

حتى يتم تحرير هذا ، فإن الحل هو إضافة الأسطر التالية بعد تسجيل JSDOM:

// eslint-disable-next-line no-undef
global.performance = window.performance;

حتى يتم تحرير هذا ، فإن الحل هو إضافة الأسطر التالية بعد تسجيل JSDOM:

// eslint-disable-next-line no-undef
global.performance = window.performance;

آسف لكونك غبيًا ولكن أين يمكنني إضافة السطر التالي نظرًا لأن تسجيل JSDOM قد تم تجريده في Vue CLI 3 و cli-plugin-unit-mocha (بدون setup.js)؟

شكرا للمساعدة...

// eslint-disable-next-line no-undef 
global.performance = window.performance;

نفس السؤال. أين أضيف الأسطر التالية؟

theonlychase لقد وضعته في نقطة الدخول التجريبية الرئيسية الخاصة بي test/setup.js وهو نفس الدليل الذي يحتوي على require('jsdom-global')

تمت الإشارة إليه أدناه عند --require flag.

"test": "mocha-webpack --webpack-config webpack/webpack.config.test.js --require test/setup.js reporter mocha-bamboo-reporter"
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

bdedardel picture bdedardel  ·  3تعليقات

aviggngyv picture aviggngyv  ·  3تعليقات

fergaldoyle picture fergaldoyle  ·  3تعليقات

franciscolourenco picture franciscolourenco  ·  3تعليقات

hiendv picture hiendv  ·  3تعليقات