我正在运行这个Keystonejs节点webapp,我试图包含我为我的ReactNative项目创建的一个类,但是我正在进行“导出”#39;意外的令牌错误,我无法找到解决方法:\,我将节点更新到6.2.0,我只是像node keystone
那样运行它我尝试了node --harmony keystone
参数但是它仍然失败,我已经尝试安装babel-core babel-cli babel-preset-es2015
而没有任何东西,我仍然可以使用(arg) => { /*body*/}
形式创建一个函数,虽然我甚至不知道ECMASCRIPT的版本是什么引入了xD。我的类被声明为:export default class API { ... }
API是我的类名,我打算像
import API from "API";
API.myMethod().then((res)=>{/*etc*/});
实际上我得到了意想不到的令牌' import'在我获得导出之前,我将其更改为“要求”。相反,然后我得到导出错误(抱歉,我尝试任何xD)
我正在使用mac工作,我使用yo keystone
构建了keystone项目,并且我已经设置了mongod
就好了,在我尝试添加课程之前,这个工作很有效,任何帮助? plz:\
我在课程方法中也使用了async
和await
个关键字,我认为这可能会给XD带来麻烦,特别是因为我看到了异步' package.json文件包:(,任何帮助将不胜感激,谢谢:3
答案 0 :(得分:3)
发生错误是因为NodeJS尚未在版本6.20
中实现模块。您可以通过运行命令获取正在处理的功能列表:
node --v8-options | grep "in progress"
你应该看到这一行:
--harmony_modules (enable "harmony modules" (in progress))
要使用模块(import
,export
),您需要使用babel
将ES2015中的Javascript文件编译为ES5。您可以在package.json
:
"compile": "./node_modules/.bin/babel -d dist/ src/"
该脚本假设您已安装babel
。