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) нпм я
4) тест npm - без ошибок
4) обновление npm vue
5) тест npm - ReferenceError: производительность не определена
Приветствия,
Пламен
ошибок не наблюдается
наблюдается ошибка
Пожалуйста, предоставьте репродукцию при сообщении об ошибках
Привет @posva!
Проблема не воспроизводится в онлайн-редакторе, но я предоставил шаги с проектом из github в разделе «Шаги по воспроизведению».
Приветствия,
Пламен
То, на что вы ссылаетесь, является заархивированным и устаревшим примером. Репро не обязательно должно быть jsfiddle, это может быть файл HTML (или просто его содержимое). Он также не должен включать другие зависимости, такие как mocha или vue-test-utils (это может быть проблемой для этого пакета). Ура.
Спасибо за ответ!
Хм - я попробую другой подход - «производительность», которая находится в этой строке , нигде в файле не объявлена. У нас есть window.performance и config.performance, но я не вижу никакой глобальной «производительности». Он пришел с последним выпуском, потому что здесь его нет.
Как только вы запускаете статический анализ файла, он выдает.
Приветствия,
Пламен
Также получаю это. Получил предупреждение от моего CI после того, как Vue обновился до 2.6.9 (я использую Renovate, чтобы поддерживать deps в актуальном состоянии).
Похоже, что в среде jsdom:
> window.performance
Performance {}
> performance
ReferenceError: performance is not defined
Поэтому мы должны использовать window.performace
вместо прямого вызова performance
чтобы код работал правильно в jsdom.
Хорошо, я думаю, что я открыл меню до того, как вы добавили улучшение ярлыка, и щелкнул снаружи после того, как вы добавили ярлык имеет PR, поэтому он удалил его. Забавный край
Следует отметить, что хотя 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"
Самый полезный комментарий
Похоже, что в среде jsdom:
Поэтому мы должны использовать
window.performace
вместо прямого вызоваperformance
чтобы код работал правильно в jsdom.