我们的PWA住在这里:https://m.quemesa.com我们还拥有相同代码库的原生应用。
但是,我们不是针对Cordova浏览器平台(因为它似乎没有得到官方支持,我看不出它增加了什么好处)所以我们必须为我们的PWA添加与我们的原生应用程序相比略有不同的代码建立。例如,在PWA中,我们使用纯粹的Google Analytics解决方案,该解决方案在index.html中需要2行javascript。
对于我们的原生版本,我们使用Cordova GA插件,因此不需要这样做。在PWA中,我们不需要链接到Cordova.js和Vendor.js以获得exmaple(它们会出现404错误)。在我们的原生应用中。
目前我手动编辑(yuck)输出文件夹,然后上传到Azure以获取PWA。
是否有某种方法可以编辑Ionic Build Process,以便我可以拥有2个版本的索引,并根据构建类型获取输出文件夹所需的版本,或者可以在构建时修改html文件?
答案 0 :(得分:2)
目前的离子构建工具本身并不支持这一点。
你可以只有两个版本的index.html和一个小脚本来交换它们并构建两个版本。
使用“完整”CI构建工具也可以做到这一点。由于您提到Azure,您可以使用Visual Studio Team Services。现有任务可用于npm(安装离子,运行PWA构建)和运行命令/ PowerShell脚本。通过设置“代理”虚拟机可以更容易地开始构建应用程序(节点,离子,Android工作室等)所需的一切,然后从那里构建构建过程。
答案 1 :(得分:0)
我使用gulp-preprocess
根据目标平台更新构建版本的index.html。预处理的想法是在离子服务/构建之前生成目标index.html,其中包含所选模式,pwa或native所需的确切声明。有关此帖"Using Ionic/Cordova app sources as PWA"