Vue: 运行时异常:性能未定义-v2.6.9

创建于 2019-03-14  ·  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测试-ReferenceError:性能未定义

问候,
普拉门

期望什么?

没有观察到错误

实际发生了什么?

观察到错误

bug has PR has workaround improvement

最有用的评论

看来在jsdom环境中:

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

因此,我们必须使用window.performace而不是直接调用performance来使代码在jsdom中正确运行。

所有12条评论

报告错误时请提供副本

@posva
这个问题没有用在线编辑器复制,但是我在GitHub的“复制步骤”部分提供了步骤。
问候,
普拉门

您链接到的内容是一个已归档且已弃用的示例。 一个repro不必一定是jsfiddle,它可以是一个HTML文件(或只是它的内容)。 它还不应包含其他依赖项,例如mocha或vue-test-utils(在该软件包上可能是个问题)。 干杯。

感谢您的回信!
嗯-我会尝试另一种方法-在文件的任何位置都没有声明此行的“性能”。 我们有一个window.performance和config.performance,但我看不到任何全局的“性能”。 它带着最新的版本,因为这里不存在。

对文件运行静态分析后,它将引发。

问候,
普拉门

也得到这个。 Vue升级到2.6.9后,我的CI发出了警告(我使用Renovate来使部门保持最新状态)。

看来在jsdom环境中:

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

因此,我们必须使用window.performace而不是直接调用performance来使代码在jsdom中正确运行。

好的,我想我在添加标签改进之前打开了菜单,并在添加具有PR标签之后单击了外部,因此将其删除了。 有趣的边缘案例

应该注意的是,尽管JSDOM通过process.hrtime提供了performance支持,但我认为我们不能保证当前使用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;

抱歉,我很愚蠢,但由于在Vue CLI 3和cli-plugin-unit-mocha(无setup.js)中抽象了JSDOM注册,因此我应该在下面添加以下行吗?

谢谢您的帮助...

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

同样的问题。 在哪里添加以下行?

@theonlychase我将其放在我的主测试入口点test/setup.js ,该目录包含您的require('jsdom-global')

--require标志下方引用。

"test": "mocha-webpack --webpack-config webpack/webpack.config.test.js --require test/setup.js reporter mocha-bamboo-reporter"
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

franciscolourenco picture franciscolourenco  ·  3评论

wufeng87 picture wufeng87  ·  3评论

hiendv picture hiendv  ·  3评论

aviggngyv picture aviggngyv  ·  3评论

bdedardel picture bdedardel  ·  3评论