axios 在单元测试中遇到 can't find variable: promise 解决方法

在使用单元测试遇到axios报错,一番搜索找到解决方案。记录下

错误

can't find variable: promise

错误原因

由于 Karma 配置的浏览器是 PhantomJS,并不支持Promise函数,所以报错。

config.set({
  browsers: ['PhantomJS'],
  frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
  ...
})

解决方法

安装 es6-promise。

一步步来~
首先,安装 es6-promise

$ npm install es6-promise --save

然后在js文件中引入 es6-promise,并执行 polyfill 方法

import Promise from 'es6-promise'
Promise.polyfill()

最后,全局安装 phantomjs

$ npm install -g phantomjs

参考资料:https://www.npmjs.com/package/es6-promise

你可能感兴趣的:(解决方案)