我正在使用Cordova,并且在Android API 23(棉花糖6)中出现语法错误。在API 28(9个Pie)和API 21(5个棒棒糖)上,一切正常,但是在API 23下,我遇到了这些错误:
Uncaught SyntaxError: Unexpected token =>
Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
Uncaught SyntaxError: missing ) after argument list
我正在使用香草JS,什么也没有。
是什么问题?我该如何解决?
[问题似乎来自API 23中的ES6不兼容。要解决此问题,我使用babel。
sudo npm install --save-dev @babel/preset-env
创建.babelrc文件
{
"presets": ["@babel/preset-env"],
"sourceType": "script" //To remove 'use strict' of generated js files
}
然后您可以使用此命令将代码转换为es5npx babel src/js -d www/js
可以通过钩子自动执行此命令。只需创建一个.sh文件(例如build.sh)并向其中添加命令。将钩子添加到config.xml文件中<hook type="before_build" src="hooks/build.sh" />