2016-07-08 1 views
1

Я пытаюсь добавить метод для существующего тега, который будет вызываться при нажатии кнопки, я получаю эту ошибку при создании dev.Ошибка Riot.js при построении, используя Riotjs Webpack Starterkit

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

+0

Это, как представляется, проблема с парсер (babylon), используемый webpack, который не принимает этот синтаксис. Вместо этого попробуйте классический синтаксис 'this.addItem = function() {/ * ... * /}' – Freez

ответ

0

Похоже, что использование startkit WebPack и Бабеля в transpile от ES6. Синтаксис, который вы используете, предоставляется Riot, не является реальным es6.

Так что, если вы транслируете из es6, используйте синтаксис es6, потому что синтаксис Riot.js не будет работать.

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

Если вы не можете использовать синтаксис JS

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

или же вы можете использовать ES6-подобный синтаксис предоставленный Riot.js

addItem(e) { 
    console.log('elo'); 
} 
Смежные вопросы