1

ボタンがクリックされたときに呼び出されるメソッドを既存のタグに追加しようとしていますが、開発ビルド中にこのエラーが発生します。

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

./src/components/itemlist.tag のエラー モジュールのビルドに失敗しました: SyntaxError: 不明: 予期しないトークン (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

4

1 に答える 1

0

startkit は webpack と babel を使用して es6 からトランスパイルしているようです。使用している構文は Riot が提供するものであり、実際の es6 ではありません。

したがって、es6 からトランスパイルしている場合は、es6 構文を使用してください。Riot.js 構文は機能しないためです。

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

そうでない場合は、js 構文を使用できます

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

または、Riot.js が提供する es6 のような構文を使用することもできます

addItem(e) {
    console.log('elo');
}
于 2016-09-28T18:41:23.427 に答える