由于ES6语法,Jasmine没有加载模块?

时间:2016-02-19 17:42:58

标签: javascript angularjs jasmine

我有一个Angular模块,我使用了一些ES6语法(=>函数和计算出的密钥名称)。

事实证明Jasmine拒绝加载模块,我无法测试它。我完全确定ES6语法是原因,因为只要我将代码更改为ES3语法,Jasmine就会加载我的模块并且我能够测试它。

为什么会发生这种情况,有没有办法告诉Jasmine加载我的ES6代码?

2 个答案:

答案 0 :(得分:0)

你可以使用babel来转换你的es6,这里有一个如何在你的jasmine conf中设置它的链接。

https://babeljs.io/docs/setup/#jasmine

答案 1 :(得分:0)

Jasmine致力于支持浏览器和Node;他们针对稳定的浏览器构建运行测试。在主流浏览器完全支持ES6之前,我不认为Jasmine能够加载您的ES6代码。 From the contributing guide:

  

如何编写新的Jasmine代码

     

或者,如何成功提取请求

     
      
  • 请勿更改公共界面。很多项目都依赖于Jasmine,如果你不小心你会打破它们
  •   
  • 与环境无关 - 服务器端开发人员与浏览器开发人员一样重要
  •   
  • 与浏览器无关 - 如果您必须依赖浏览器特定的功能,请以优雅降级的方式编写
  •