2016-04-23 48 views
0

在設備或模擬器上運行nativescript應用程序時出現以下錯誤。android上的nativescript應用程序出現意外的令牌錯誤

Unhandled Exception 
com.tns.NativeScriptException: 
Calling js method onItemClick failed 

SyntaxError: Unexpected token { 
File: "<unknown>, line: 1, column: 265 

它只發生在android上。似乎在ios上運行得很好。任何想法這個錯誤指向什麼?

+0

它看起來像一個語法錯誤可疑。你可以發佈'onItemClick'事件的代碼 - 找出造成異常的原因可能很有用。 –

+0

@AlexanderVakrilov查看下面的答案:)這是因爲使用ES6解構語法需要v8標誌才能在沒有轉譯器的情況下工作。 –

回答

0

這很可能是由於在文件中使用了ES6解構語法。 Android的運行時是v8,而不是iOS的js核心。

您需要啓用app/package.json中的實驗性標誌才能使其工作在此語法中。

"android": { 
    "v8Flags": "--expose_gc --harmony_destructuring 
} 

您可以進一步獲得所有ESnext功能的列表,這些功能可能會導致問題並可能需要通過標誌啓用。只要運行這個命令:

node --v8-options | grep 'in progress'

另外,可以考慮使用像巴貝爾東西transpile ESnext代碼,並將其放置在app目錄。