使用节点导入意外的令牌

时间:2017-08-16 19:49:11

标签: javascript node.js

我有一个简单的文件 numeral.js ,我试图用mocha运行节点进行测试。

然而,一个下午的搜索让我处于第一道障碍。

Numeral.js:

"use strict";
exports.__esModule = true;
exports.numeral = function (id) {
    return "";
};

test.js

import {numeral} from './numeral.js'

var assert = require('assert');

describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.equal(-1, [1,2,3].indexOf(4));
    });
  });

});

我导航到文件夹(将mocha设置为packages.json中的test)并运行 npm test 。抛出一个:

C:\Users\matt\Documents\mocha\test\test.js:1
(function (exports, require, module, __filename, __dirname) { import {numeral} from './numeral.js'
                                                              ^^^^^^
SyntaxError: Unexpected token import

我怎么会这么错?

1 个答案:

答案 0 :(得分:0)

Nodejs不支持导入和导出。

因此,如果您想使用导入/导出,则必须使用babel将es6代码转换为es5版本。看看github中的issue