Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 仅在运行PhantomJS时获取失败的测试(TypeError)_Webpack_Phantomjs_Karma Runner_Babeljs_Webpack 2 - Fatal编程技术网

Webpack 仅在运行PhantomJS时获取失败的测试(TypeError)

Webpack 仅在运行PhantomJS时获取失败的测试(TypeError),webpack,phantomjs,karma-runner,babeljs,webpack-2,Webpack,Phantomjs,Karma Runner,Babeljs,Webpack 2,tl;dr如何删除PhantomJS中的此错误 回购 参考回购: 运行纱线测试 问题 当从Chrome和PhantomJS运行这些相同的测试时,我看到出现了与Webpack捆绑包相关的错误,或者我是这么想的 错误 代码 混乱 特别需要中断的行是sets.find()。如果我把它省略,让它设置为[0],它就可以工作了。在注销set.find()的值时,它总是返回一个匹配的数组,因为编写测试是为了传递一个有效的集合标题 其他两个有类似错误的测试也引用了sets.find()。这个函数有什么是Phan

tl;dr如何删除PhantomJS中的此错误

回购 参考回购:

运行
纱线测试

问题 当从Chrome和PhantomJS运行这些相同的测试时,我看到出现了与Webpack捆绑包相关的错误,或者我是这么想的

错误 代码 混乱 特别需要中断的行是
sets.find()
。如果我把它省略,让它设置为[0],它就可以工作了。在注销set.find()的值时,它总是返回一个匹配的数组,因为编写测试是为了传递一个有效的集合标题


其他两个有类似错误的测试也引用了
sets.find()
。这个函数有什么是PhantomJS不喜欢的?

缩小范围后,我只能让它显示出来

TypeError: undefined is not a constructor (evaluating 'Array.prototype.find')
PhantomJS 2.1及更早版本不支持
Array.prototype.find
。解决方案是通过npm安装PhantomJS插件,并在Karma配置中进行设置:

ptim/phantomjs-polyfill-find
安装后,需要修改Karma配置。
文件
属性的第一个数组参数可以修改如下:

files: [
    `node_modules/phantomjs-polyfill-find/find-polyfill.js`,
    ...
],
注意:它必须引用路径中的
node\u模块/

您还可以使用较新的(测试版)PhantomJS,其内部有更现代的Webkit引擎。
ptim/phantomjs-polyfill-find
files: [
    `node_modules/phantomjs-polyfill-find/find-polyfill.js`,
    ...
],