2016-04-24 60 views
3

我正在嘗試循環祝福,其示例js代碼在其GitHub頁面上提供,但遇到問題。巴別,意外的令牌(15:33)::

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) 
}); 

我相信,這個代碼可以用巴貝爾跑出,但試圖運行:

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

結果:

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

我是正確的思維巴貝爾可以用來編譯這個代碼?

任何幫助表示讚賞。

.babelrc:

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

} 
+0

:: process.exit是接收作爲參數的項目的功能? –

回答

4

::是一個實驗函數的語法,其執行功能的結合和方法提取。

要使用此運算符來編譯代碼,您需要安裝並在您的.babelrc文件中添加一個transform-function-bind插件。

首先從NPM安裝:

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

然後改變你的.babelrc文件,以這樣的:

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

「預設值」:.babelrc中的[「es2015」]會導致JSON語法錯誤。 我假設我正在寫入文件不正確。 – FlerrElectronics

+0

不,不。這是完全有效的JSON。你可能忘了一個逗號。顯示你的整個文件。 – Oleg

+0

你碰巧知道是什麼原因導致「沒有活動屏幕錯誤」嘗試運行傳輸代碼後?從github頁面 – FlerrElectronics