我正在尝试使用babel-node运行relay-starter-kit updateSchema.js。它似乎无法识别箭头功能:
--device /dev/video0
我已尝试将预设“stage-0”添加到“.babelrc”,以修复该错误,但我得到了:
> SyntaxError: .../build/updateSchema.js: Unexpected token (10:9)
8 |
9 | // Save JSON of full schema introspection for Babel Relay Plugin to use
> 10 | async () => {
| ^
这不承认es2015吗?或者我的架构中出现错误?脚本"updateSchema.js"来自relay-starter-kit。
其他一切运行良好,“babel-node”似乎与我在es2015中编写的应用程序的其余部分没有问题。
编辑: 我现在尝试下载relay-starter-kit并运行“npm run update-schema”,它开箱即用。
答案 0 :(得分:0)
您是否在入境点需要babel-core
?
首先npm install --save-dev babel-core
然后打开您的应用程序的入口点文件
然后babel-core
require("babel-core");
答案 1 :(得分:0)
这个语法适用于babel 5,但它应该抛出语法错误,因为它是一个非标准的箭头函数调用语法:arrow function discussion
所以,修复是这样的:
(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)
);
}
})();