巴别塔,意外的令牌错误(15:33)::

3

我正在尝试使用cycle-blessed,参考其GitHub页面提供的JavaScript示例代码,但遇到了问题。

import { run } from '@cycle/core';
import blessed from 'blessed';
import { makeTermDriver, box } from 'cycle-blessed';
import { Observable as $ } from 'rx';

let screen = blessed.screen({ smartCSR: true, useBCE: true, title:    
'Hello, World!' });
let BlueBox = text => box({ border: { type: 'line', fg: 'blue' } },
text);         

run(({ term }) => ({
term: $.just(BlueBox('Hello, World!')),
exit: term.on('key C-c')
}), {
term: makeTermDriver(screen),
exit: exit$ => exit$.forEach(::process.exit)
});

我相信这段代码可以使用Babel运行,但是尝试运行:

 ./node_modules/.bin/babel src -d dest

结果是:

13 | }), {
14 |     term: makeTermDriver(screen),
15 |     exit: exit$ => exit$.forEach(::process.exit)
   |                                  ^
16 | });

我想确认一下,Babel可以用来转换这段代码吗?

非常感谢您的帮助。

.babelrc文件:

{
"presets": ["es2015"]
}
{
"plugins": ["transform-function-bind"]

}

::process.exit是一个函数,它接收一个参数作为项。 - Rodrigo Juarez
1个回答

4

:: 是一种实验性的函数语法,它可以执行函数绑定和方法提取。

要使用此运算符转译代码,您需要安装并将transform-function-bind插件添加到您的 .babelrc 文件中。

首先从npm安装它:

$ npm install babel-plugin-transform-function-bind

然后将您的 .babelrc 文件更改为以下内容:
{
  "presets": ["es2015"],
  "plugins": ["transform-function-bind"]
}

在 .babelrc 文件中的 "presets": ["es2015"] 导致了 JSON 语法错误。我猜测是我写文件的方式不正确。 - FlerrElectronics
不是的,它是完全有效的JSON。你可能忘了加逗号。请展示你整个文件。 - Oleg
你是否知道在尝试运行转译代码后,导致“无活动屏幕错误”的原因是什么?这是来自Github页面的同一代码。 - FlerrElectronics

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接