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

时间:2016-06-01 20:34:03

标签: javascript node.js ecmascript-6 keystonejs

我正在运行这个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:\

我在课程方法中也使用了asyncawait个关键字,我认为这可能会给XD带来麻烦,特别是因为我看到了异步' package.json文件包:(,任何帮助将不胜感激,谢谢:3

1 个答案:

答案 0 :(得分:3)

发生错误是因为NodeJS尚未在版本6.20中实现模块。您可以通过运行命令获取正在处理的功能列表:

node --v8-options | grep "in progress"

你应该看到这一行:

--harmony_modules (enable "harmony modules" (in progress))

要使用模块(importexport),您需要使用babel将ES2015中的Javascript文件编译为ES5。您可以在package.json

中创建一个简单的脚本来执行此操作
"compile": "./node_modules/.bin/babel -d dist/ src/"

该脚本假设您已安装babel