用于导出的 PhantomJS Karma SyntaxError

per*_*ai1 5 javascript node.js

我在运行 Karma 和 PhantomJS 时遇到问题。当我尝试运行时,我在控制台中得到了这个:

22 03 2016 14:58:47.865:WARN [karma]: No captured browser, 
open http://localhost:9876/
22 03 2016 14:58:47.875:INFO [karma]: Karma v0.13.22 server 
started at http://localhost:9876/
22 03 2016 14:58:47.879:INFO [launcher]: Starting browser PhantomJS
22 03 2016 14:58:48.336:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]:
Connected on socket /#lBe2M4kLKnN8N5x0AAAA with id 55603904
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
SyntaxError: Use of reserved word 'export'
Run Code Online (Sandbox Code Playgroud)

我已经为 karma、webpack、karma-phantomjs 等更新了我的所有 npm 模块,但仍然不明白为什么会发生这种情况。它不喜欢的文件示例:

export default function () {
    // code here
}
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到过这个问题并找到了解决方法?

小智 3

您应该使用 Webpack 作为预处理器: https: //github.com/webpack/karma-webpack

我个人使用这个,因为它更快: https: //github.com/aaronjensen/karma-webpack

你可能需要在你的 karma 配置中添加一些填充:

files: [
  './node_modules/babel-polyfill/dist/polyfill.js',
  './node_modules/phantomjs-polyfill/bind-polyfill.js',
  ...
]
Run Code Online (Sandbox Code Playgroud)