2016-07-08 53 views
1

我想添加一個方法到te現有的標記,當點擊一個按鈕時被調用,我在開發時收到這個錯誤。Riot.js在構建時出現錯誤,使用Riotjs Webpack Starterkit

https://github.com/wbkd/riotjs-startkit

在./src/components/itemlist.tag 模塊生成錯誤失敗:語法錯誤:未知:意外令牌(15:15) });

addItem(e) { 
    console.log('elo'); 
} 

at Parser.pp.raise (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\location.js:24:13) 
at Parser.pp.unexpected (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\util.js:82:8) 
at Parser.pp.semicolon (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\util.js:69:81) 
at Parser.pp.parseExpressionStatement (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\statement.js:427:8) 
at Parser.parseExpressionStatement (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\plugins\flow.js:676:20) 
at Parser.pp.parseStatement (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\statement.js:142:21) 
at Parser.parseStatement (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\plugins\flow.js:655:22) 
at Parser.pp.parseTopLevel (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\statement.js:30:21) 
at Parser.parse (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\parser\index.js:70:17) 
at Object.parse (C:\Users\Adam\Documents\test\riotjs-startkit-master\node_modules\babel\node_modules\babel-core\node_modules\babylon\lib\index.js:45:50) 

@ ./src/pages/home.tag 5:0-37

+0

這似乎是與一個問題所提供的ES6的語法解析器(巴比倫)使用的webpack不接受這種語法。嘗試使用經典語法,而不是'this.addItem = function(){/ * ... * /}' – Freez

回答

0

好像是startkit使用的WebPack和巴貝爾從ES6到transpile。 您使用的語法由Riot提供,不是真正的es6。

因此,如果您從es6轉換,請使用es6語法,因爲Riot.js語法不起作用。

this.addItem = (e) => { 
    console.log('elo'); 
} 

如果沒有,你可以用js語法

this.addItem = function(s) { 
    console.log('elo'); 
} 

或者你也可以使用Riot.js

addItem(e) { 
    console.log('elo'); 
}