Javascript 节点Keystonejs意外令牌导出/导入

Javascript 节点Keystonejs意外令牌导出/导入,javascript,node.js,ecmascript-6,keystonejs,Javascript,Node.js,Ecmascript 6,Keystonejs,我正在运行这个Keystonejs节点webapp,我试图包含我为ReactNative项目创建的一个类,但是我遇到了“导出”意外的令牌错误,我找不到如何修复它:\,我将节点更新为6.2.0,我只是像节点keystone那样运行它,我尝试了节点--harmony keystone参数,但仍然失败,我尝试了安装babel core babel cli babel-preset-es2015但什么都没有,我仍然可以使用(arg)=>{/*body*/}表单创建函数,虽然我甚至不知道xD是在什么版本的

我正在运行这个Keystonejs节点webapp,我试图包含我为ReactNative项目创建的一个类,但是我遇到了“导出”意外的令牌错误,我找不到如何修复它:\,我将节点更新为6.2.0,我只是像
节点keystone
那样运行它,我尝试了
节点--harmony keystone
参数,但仍然失败,我尝试了安装
babel core babel cli babel-preset-es2015
但什么都没有,我仍然可以使用
(arg)=>{/*body*/}
表单创建函数,虽然我甚至不知道xD是在什么版本的ECMASCRIPT中引入的。我的类是这样声明的:
export default class API{…}
API是我的类名,我打算像这样使用它

从“API”导入API;
然后((res)=>{/*etc*/})

实际上,我在获得导出之前得到了意外的标记“import”,我将其改为“require”,然后得到了导出错误(很抱歉,我正在尝试xD) 我在mac上工作,我用
yokeystone
构建了keystone项目,我已经设置了
mongod
很好,在我尝试添加我的类之前,一切都很好,有什么帮助吗?plz:\


我还在我的类方法中使用了
async
await
关键字,我认为这可能会给XD带来麻烦,特别是因为我在package.json文件中看到了“async”包:(,任何帮助都将不胜感激,谢谢:3

发生错误的原因是NodeJS没有在版本
6.20
中实现模块。您可以通过运行以下命令获得正在使用的功能的列表:

node --v8-options | grep "in progress"
您应该看到这一行:

要利用模块(
import
export
),您需要使用
babel
将ES2015中的Javascript文件编译为ES5。您可以在
包中创建一个简单的脚本来完成此操作。json

"compile": "./node_modules/.bin/babel -d dist/ src/"

脚本假定您已经安装了
babel

嗨!非常感谢您的帮助!显然它现在正在编译,但我有另一个问题,我想知道您是否可以帮我解决这个问题。在我的类中,xD我有多个声明如下的静态对象
static myObject={};
现在我得到了一个意外的标记
=
(尽管将其更改为
可能更容易XD)提前感谢:DI dud it!XD,我对babel和编译做了更多的研究,发现我需要使用es2015和stage-0预设,起初我甚至不知道我在做什么,现在我知道你不只是安装babel,你实际上必须用它来编译你的代码XD它终于工作了,现在我所要做的就是设置我的工作流文件夹编译并运行编译后的代码。非常感谢您的帮助@gnerkus!!:D
"compile": "./node_modules/.bin/babel -d dist/ src/"