节点不识别es2015?
我正尝试使用babel-node运行relay-starter-kit updateSchema.js。 它似乎并不承认箭头功能:
> SyntaxError: .../build/updateSchema.js: Unexpected token (10:9)
8 |
9 | // Save JSON of full schema introspection for Babel Relay Plugin to use
> 10 | async () => {
| ^
我试图将预设的“stage-0”添加到“.babelrc”中,以修复该错误,但是我得到:
SyntaxError: .../build/updateSchema.js: Unexpected token (23:1)
21 | );
22 | }
> 23 | }();
| ^
这是不是承认es2015? 或者是我的模式中的错误? 脚本“updateSchema.js”来自relay-starter-kit。
其他的一切运行良好,“babel-node”似乎没有问题,我的应用程序的其余部分写在es2015。
编辑:我现在已经尝试下载relay-starter-kit并运行“npm run update-schema”,它可以直接使用。
在入口点你是否需要babel-core
?
首先npm install --save-dev babel-core
然后打开您的应用程序的入口点文件
然后需要babel-core
由require("babel-core");
此语法在babel 5上工作,但它应该引发语法错误,因为它是非标准的箭头函数调用语法:arrow函数讨论
所以,解决方法是这样的:
(async () => {
var result = await (graphql(Schema, introspectionQuery));
if (result.errors) {
console.error('ERROR: ', JSON.stringify(result.errors, null, 2));
} else {
fs.writeFileSync(
path.join(__dirname, '../data/schema.json'),
JSON.stringify(result, null, 2)
);
}
})();
链接地址: http://www.djcxy.com/p/32943.html