使用节点意外令牌导入
问题描述:
我有一个简单的文件numer.js,我试图通过节点运行摩卡测试。使用节点意外令牌导入
然而,一个下午的搜寻让我第一关。
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));
});
});
});
我导航到文件夹(已经摩卡设置为在packages.json测试),然后运行NPM测试 。这抛出了一个:
C:\Users\matt\Documents\mocha\test\test.js:1
(function (exports, require, module, __filename, __dirname) { import {numeral} from './numeral.js'
^^^^^^
SyntaxError: Unexpected token import
我怎么会这么错?
您的错误已经starrring你已经。导入关键字在任何节点版本上都不可用。您需要使用babel预设为 – Rowland
尝试要求配对 – TGarrett
节点不支持ES6导入,它使用'commonjs'模块语法,因此使用'require'而不是'import'。 – Cristy