我们有用Svelte / Sapper编写的PWA应用程序,我们希望在移动平台上转换此应用程序。由于某些商业原因,我们需要在Android和iOS商店中明确使用该应用程序。
小注释:在移动平台上,我们不需要任何本机API。纯粹的JavaScript浏览器API对我们来说足够了。
因此,我找到了我认为最适合我们问题的Apache Cordova项目,并找到了Svelte syonip/svelte-cordova-template
的模板。但这还不够。模板正在解决Svelte而不是Sapper。
最好的情况是,我下载了一些Cordova / Svelte / Sapper模板,复制了现有的源代码,解决了一些问题,将应用程序导出到xCode项目,进行了构建,它可以在iOS上正常运行而没有任何重大问题(但我当然希望一些代码有所更改,但应用程序的整体重写不会)。
您可能对Svelte / Sapper-> Cordova迁移有一些经验吗?
Edit1 :我认为可以使用Sapper export
功能并将生成的文件传递给Cordova。会有一些问题,例如当用户手动更改URL地址时路由无法正常工作(但是对于此特定用例-移动应用程序-这不是问题,因为用户将无法编辑URL)。此外,服务器端渲染,预加载和预取也是不可能的。
Edit2 :经过一些挖掘,我认为无法将Sapper应用程序转换为Cordova。 Sapper中的代码拆分存在很多问题。最大的问题发生在CORS政策以及Sapper应用旨在与服务器和域(而不是文件系统)一起使用的事实上。也许可以在Cordova中使用一些隐藏的localhost服务器来提供文件,但这是有问题的并且非常讨厌。
答案 0 :(得分:0)
您需要cordova应用程序中的节点才能运行节点(sapper)应用程序。
所以
include节点: https://www.npmjs.com/package/nodejs-mobile-cordova
nodejs.start
使用运行的脚本启动您的Sapper应用 npm start
打开浏览器索引路径的网页视图。
我没试过这个,只是预感:)