Javascript 在 Android 6 中使用 Cordova 时出现语法错误

Javascript syntax error using Cordova in Android 6

我正在使用 Cordova,但在 Android API 23 (6 Marshmallow) 中有一个语法错误。
在 API 28 (9 Pie) 和 API 21 (5 Lollipop) 上一切正常,但在 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

我使用的是 vanilla 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
}

然后你可以使用这个命令将你的代码转译成 es5
npx babel src/js -d www/js

可以使用钩子自动执行此命令。 只需创建一个 .sh 文件(例如 build.sh)并向其中添加命令。 将钩子添加到 config.xml 文件
<hook type="before_build" src="hooks/build.sh" />