[Android 6中使用Cordova的Javascript语法错误

问题描述 投票:0回答:1

我正在使用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,什么也没有。

是什么问题?我该如何解决?

javascript cordova android-6.0-marshmallow
1个回答
0
投票

[问题似乎来自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" />

© www.soinside.com 2019 - 2024. All rights reserved.