Синтаксическая ошибка JavaScript при использовании Cordova в Android 6 - PullRequest
0 голосов
/ 23 октября 2019

Я использую 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 и ничего больше.

В чем проблема? И как я мог это решить?

1 Ответ

0 голосов
/ 23 октября 2019

Похоже, что проблема связана с несовместимостью ES6 в API 23.
Для решения этой проблемы я использую 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" />

...