Ionic framework 爱奥尼亚3发布应用程序为PWA(渐进式Web应用程序)
我想将我的应用程序发布为PWA,所以我所做的是 将此脚本插入index.htmlIonic framework 爱奥尼亚3发布应用程序为PWA(渐进式Web应用程序),ionic-framework,ionic2,progressive-web-apps,ionic3,Ionic Framework,Ionic2,Progressive Web Apps,Ionic3,我想将我的应用程序发布为PWA,所以我所做的是 将此脚本插入index.html <!--script> if ('serviceWorker' in navigator) { navigator.serviceWorker.register('service-worker.js') .then(() => console.log('service worker installed')) .catch(err => co
<!--script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
.then(() => console.log('service worker installed'))
.catch(err => console.log('Error', err));
}
</script-->
看起来是这样,但我的问题是:
ionic构建浏览器--prod--release
然后转到
[project_folder]/platforms/browser/www
,并在您的http服务器上复制内容。不要为PWA而麻烦Cordova。只需使用npm运行build--prod
并上传/www
文件夹
PWA更多的是一个概念集合,所以它不仅仅是“开”或“关”。至少,您可能希望添加一个清单文件,以便通过隐藏浏览器框架、设置图标、应用程序名称等使其更像“应用程序”。如果您没有在service worker中添加任何“有用”内容,则取消添加service worker行的注释不会神奇地使其成为PWA(这取决于你的应用程序的工作方式,你可能需要也可能不需要这么做)。还要注意,你需要HTTPS才能使用服务工作者
您还需要手动删除index.html中包含cordova.js的行(如果您只上传/www,这将是404错误)。我使用此命令构建web应用程序
ionic cordova build browser
然后将内容从IONIC-PROJECT/platforms/browser/www复制到web服务器。当我这样做时?当我完成应用程序的开发时?因为我现在运行,并且当我在应用程序中更改某些内容并运行IONIC serve时,我看不到这些更改。应该使用
IONIC emulate browser--Liveload
来完成。但是有一些iss使用它()()当我运行ionic cordova emulate add browser--livereload时,它会显示“你添加的平台没有Api.js”ionic emulate add browse
是不正确的。首先添加平台,然后进行仿真。只需ionic emulate browser--livereload
(从你的句子中删除add
)这种方法会影响开发架构,例如,不包括支持浏览器平台的本机插件。这是正确的。我还没有看到太多“好”的插件但在浏览器中,so通常会在我的代码中检查平台并隐藏某些按钮等。其他本机特定代码已经检查可用性,但是的,当然取决于你的应用类型,你可能必须使用cordova浏览器,但我认为这是“可以”的应用的例外作为PWA的功能。请详细说明将平台浏览器添加到Ionic的优点(或缺点)。它做什么?为什么我需要它?根据我对一些Cordova插件(或Ionic Native)的了解也可以以浏览器为目标,如果您以PWA的形式运行它,它将自动返回到这个位置?不支持浏览器的插件将需要为web提供包装和回退服务-正确吗?@Rodney这个决定基本上归结为是否使用cordova(平台浏览器)(www文件夹)。如果你只是针对一个PWA,那么你对cordova没有什么真正的需求,因为大多数插件浏览器包装器只提供你在手机上获得的功能的一小部分,所以你不想将其用于web应用。这也确实取决于你正在使用的插件,但从我看到的情况来看,你更希望ant需要检查插件是否存在,如果不是的话,它更愿意为用户提供与大多数包装器不同/更好的体验。我真的认为这并不能回答如何部署PWA应用程序的真正问题
ionic cordova build browser