如何在Nightwatch测试中使es6导入/导出工作?

时间:2017-02-02 16:21:50

标签: node.js nightwatch.js

我想导入我的测试文件实用程序模块,该模块是用ES6编写的,并导出了我需要的一些东西。所以我所做的就是

import { module } from 'file'

但它会抛出'SyntaxError:Unexpected token import'错误。

我试图:

  1. require('babel-core/register')添加到nightwatch.conf.js
  2. 的顶部
  3. require('babel-register')()添加到nightwatch.conf.js
  4. 的顶部
  5. npm i babel-plugin-add-module-exports --save-dev,并将“add-module-exports”插件添加到.babelrc配置文件
  6. npm i babel-preset-es2015 --save-dev,并将es2015预设添加到.babelrc配置文件
  7. 添加

    require('babel-core')
    require('babel-loader')
    require('babel-plugin-add-module-exports')
    require('babel-polyfill')
    require('babel-preset-stage-2')
    require('babel-preset-es2015')
    
  8. 到nightwatch.conf.js的顶部

    这一切都没有用。我该怎么办才能进行导入/导出工作?

1 个答案:

答案 0 :(得分:8)

出现我非常接近,有一件事从我的注意力中错过了:

我有

"presets": [
    ["es2015", { "modules": false }]
  ],

和{" modules":false}是阻塞的东西。因此,要进行导入/导出工作,您需要:

1在nightwatch.config

的顶部
require('babel-register')() // or require('babel-core/register')

2 .babelrc应该包含

{
  "presets": ["es2015"],
  "plugins": [
    "add-module-exports",
  ]
}

3安装babel

npm i babel-plugin-add-module-exports babel-core babel-preset-es2015 --save-dev