Могу ли я загружать модули JS ES6 + в современный Swift JavaScriptCore?

Используя JavaScriptCore, я хотел бы интегрировать часть современной кодовой базы Javascript в программу Swift 5.x для ios / ipados 13. Код JS широко использует функции ES6 +. Например: async/await, статический импорт (import * as something from “something.js”) и динамический импорт (`await loadedModule = import (« something.js »);

Основываясь на этом сообщении от 2018 года, кажется, что операторы импорта не были реализованы должным образом в этот момент: Как импортировать модули в Swift JavaScriptCore?

(Я не думаю, что уместно воскрешать этот пост, поскольку на данный момент многое изменилось.)

С тех пор интегрировал ли JavaScriptCore эти функции? Насколько я понимаю, если они работают в браузере Safari, то они также должны работать в автономном JavaScriptCore (или это неправильно предполагать)? Я не думаю, что было бы целесообразно использовать babel или webpack для преобразования моего кода.

Если возможно, как мне загрузить такой JavaScript из Swift?

РЕДАКТИРОВАТЬ:

Я все еще получаю JS Exception: SyntaxError: Unexpected token '*'. import call expects exactly one argument.

когда я пытаюсь сделать следующее:

import * as mod from "./mod.js";


person synchronizer    schedule 13.02.2020    source источник
comment
Отвечает ли это на ваш вопрос? Как импортировать модули в Swift JavaScriptCore?   -  person Jess Bowers    schedule 26.06.2020


Ответы (1)


Ответ - «нет», но я могу использовать Babel для преобразования файлов со статическим импортом / экспортом в код, содержащий requires, а также реализовать мою собственную версию require в Swift для имитации того, что я хочу.

person synchronizer    schedule 18.02.2020