尝试在Jasmine规格文件中导入类时,获取“ SyntaxError:无法在模块外部使用import语句”

时间:2019-10-24 13:37:41

标签: javascript node.js ecmascript-6 jasmine es6-modules

作为练习,我决定使用在浏览器中运行的ES6语法创建一个小小的JavaScript游戏。该程序运行正常。

我想使用Jasmine进行测试。但是,每当我尝试执行导入时,例如

import Deck from "../Deck.js";

Deck.js启动:

export default class Deck {

我收到错误SyntaxError: Cannot use import statement outside a module

我已经完成的事情:

  • 已安装节点v13.0.1-我认为此版本的节点允许使用es6模块。
  • 安装了茉莉花并初始化了node ./node_module/jasmine/bin/jasmine init
  • 运行node ./node_module/jasmine/bin/jasmine-无需导入即可正常运行
  • 运行node --experimental-modules ./node_module/jasmine/bin/jasmine-不适用于导入
  • 尝试使用require而不是导入:const Deck = require('../Deck.js');-SyntaxError: Unexpected token 'export'

如何使茉莉花与进口配合使用?目前,我无法包含任何要测试的文件!

我确定我做错了这个方法,但是我只想要一些cmd行测试。

1 个答案:

答案 0 :(得分:0)

遵循Babel的官方指南,网址为https://babeljs.io/setup#installation

然后从此解决方案中选择一个选项:https://stackoverflow.com/a/59399717/673351

我个人已将我的规范文件重命名为具有mjs扩展名,因为我希望使用LTS(当前为12)版本的node。