我的文件包含默认导出的ES6类:
accessmanager.js
export default class AccessManagerClient {
constructor(){
...
}
}
我想像这样导入它:
anotherFile.js
import AccessManagerClient from '../someFolder/accessmanager';
当我运行我的规范时,我收到错误:
import AccessManagerClient from '../someFolder/accessmanager';
^^^^^^
SyntaxError: Unexpected token import
我有这样的npm和节点版本:
$ npm -v
5.3.0
$ node -v
v8.0.0
答案 0 :(得分:4)
你不能没有Babel或其他打包器/ bundler / transpiler,因为Node还没有import
/ export
的原生支持。要么使用Node自己的modules,要么使用packager / bundler / transpiler。
答案 1 :(得分:4)
我知道这是一个老问题。但是如果其他人仍在寻找替代方案,现在有了新的Node版本,我们可以在没有Babel的情况下使用:
https://nodejs.org/api/esm.html
因此,您需要做的是升级Node版本。仅供参考:此节点版本v10.9.0仍处于试验阶段。
答案 2 :(得分:0)
根据official node site,所有ECMAScript 2015(ES6)功能分为三组,用于发送,暂存和进行中的功能: