我是javascript的新手,尝试编写一个具有ES6之类的导入语句的规范,然后通过Karma执行它,使用预处理器作为traceur和browserify(捆绑并提供'require'方法)。它继续给我一个无效语法的错误,并且在查看在浏览器中呈现的specs文件时,它看起来traceur从未真正处理过该文件。
这是github上项目的链接 - > https://github.com/gt-tech/es6-traceur-browserify-karma
我在这里也描述了这个问题,因为我正在使用那个生成器 - > https://github.com/Swiip/generator-gulp-angular/issues/380
答案 0 :(得分:3)
我一直在研究一个示例种子项目,以启用带有karma / jasmine的ES6。举个例子,我添加了TodoMVC应用程序,进行了全面测试,看看:
https://github.com/lookfirst/systemjs-seed/
如果你要使用ES6,请忘记browserify和traceur。与SystemJS和babel一起使用,因为他们是使这些最前沿的东西正常工作的领导者。
答案 1 :(得分:1)
虽然不确定是否是解决问题的最佳方法,但问题已解决。由于我们试图在链式预处理中使用“traceur”和“browserify”,我们认为由于某些原因,它们并没有真正在链中执行。这两个处理文件(匹配路径)独立地弄乱最终输出。我们从方程式中取出了traceur,并在browserify中使用了“es6ify”转换来实现转换,并且它工作得非常轻松。
我确信这对许多人来说是一个初学者的问题,但希望它会帮助其他人采取初步措施
答案 2 :(得分:1)
以下是如何使用ES6编写单元测试的示例。它将Karma与webpack结合使用:
http://www.syntaxsuccess.com/viewarticle/5532c5c0873cb5f0449ffcc5