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

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"]

}

最佳答案

:: 是一个实验性的函数语法,它执行函数绑定(bind)和方法提取。

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

首先从 npm 安装它:

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

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

关于javascript - 通天塔,意外 token (15:33)::,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36826660/

10-12 07:21