【问题标题】:How to make es6 import/export works in Nightwatch test?如何使 es6 导入/导出在 Nightwatch 测试中工作?
【发布时间】:2017-02-02 16:21:50
【问题描述】:

我想导入我的测试文件实用程序模块,它是用 ES6 编写的,并导出我需要的几个东西。所以我要做的是

import { module } from 'file'

但它会引发“SyntaxError: Unexpected token import”错误。

我尝试过:

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

    require('babel-core')
    require('babel-loader')
    require('babel-plugin-add-module-exports')
    require('babel-polyfill')
    require('babel-preset-stage-2')
    require('babel-preset-es2015')
    

到 nightwatch.conf.js 的顶部

所有这些都没有帮助。我应该怎么做才能使导入/导出工作?

【问题讨论】:

    标签: node.js nightwatch.js


    【解决方案1】:

    似乎我非常接近,我没有注意到一件事:

    我有

    "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
    

    【讨论】:

    • 为我工作 - 请注意步骤 (3) 也应该安装 babel-core
    • 谢谢! +1 为 babel-core 安装说明
    猜你喜欢
    • 2015-12-10
    • 2019-04-01
    • 2018-08-19
    • 2019-06-09
    • 1970-01-01
    • 2019-02-26
    • 2016-09-09
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多