我可以在现代 Swift 的 JavaScriptCore 中加载 JS ES6+ 模块吗?
Can I load JS ES6+ modules in modern Swift’s 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 年的 post,似乎当时导入语句没有正确实施:
(我认为复活那个 post 是不合适的,因为此时已经发生了很多变化。)
从那时起,JavaScriptCore 是否集成了这些功能?根据我的理解,如果它们在 Safari 浏览器中工作,那么它们也应该在独立的 JavaScriptCore 中工作(或者这是错误的假设)?我认为使用 babel 或 webpack 来转换我的代码并不实用。
如果可以的话,如何从Swift加载这种JavaScript?
编辑:
我还是明白了
JS Exception: SyntaxError: Unexpected token '*'. import call expects exactly one argument.
当我尝试以下操作时:
import * as mod from "./mod.js";
答案是 "no," 但我可以使用 Babel 将具有静态导入/导出的文件转换为包含 require
的代码,并在 Swift模拟我想要的。
使用 JavaScriptCore,我想将现代 Javascript 代码库的一部分集成到 Swift 5.x 程序中 ios/ipados 13。 JS 代码广泛使用 ES6+ 特性。例如:async/await
、静态导入 (import * as something from “something.js”
) 和动态导入 (`await loadedModule = import(“something.js”);
基于 2018 年的 post,似乎当时导入语句没有正确实施:
(我认为复活那个 post 是不合适的,因为此时已经发生了很多变化。)
从那时起,JavaScriptCore 是否集成了这些功能?根据我的理解,如果它们在 Safari 浏览器中工作,那么它们也应该在独立的 JavaScriptCore 中工作(或者这是错误的假设)?我认为使用 babel 或 webpack 来转换我的代码并不实用。
如果可以的话,如何从Swift加载这种JavaScript?
编辑:
我还是明白了
JS Exception: SyntaxError: Unexpected token '*'. import call expects exactly one argument.
当我尝试以下操作时:
import * as mod from "./mod.js";
答案是 "no," 但我可以使用 Babel 将具有静态导入/导出的文件转换为包含 require
的代码,并在 Swift模拟我想要的。