ionic 3 将应用程序发布为 PWA(渐进式 Web 应用程序)
ionic 3 publish app as PWA (Progressive Web App)
我想将我的应用程序发布为 PWA,所以我所做的是
将此脚本插入到 index.html
<!--script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
.then(() => console.log('service worker installed'))
.catch(err => console.log('Error', err));
}
</script-->
然后安装
npm run ionic:build --prod
看起来好像部署了它,但我的问题是:
- 我需要将哪些文件上传到主机才能将应用程序发布为 PWA?
为什么当我在应用程序中更改某些内容时 运行 ionic serve 没有任何更改,它仅在 WWW 文件夹的 index.html 中更改?为什么?(因为现在是 PWA 了??)
当我打开 www 文件夹时,我 运行 打开 index.html 当我按下打开警报对话框的按钮时,它没有打开那个。为什么?
- 当我运行命令?只是发展到最后?
运行
ionic cordova platform add browser
ionic build browser --prod --release
然后转到 [project_folder]/platforms/browser/www
并在您的 http 服务器上复制内容。
不要为 PWA 而使用 Cordova。只需使用 npm run build --prod
并上传 /www
文件夹。
PWA 更多的是概念的集合,所以不仅仅是 "on" 或 "off"。至少你可能想要添加一个清单文件,这样你就可以通过隐藏浏览器框架、设置你的图标、应用程序名称等来让它变得更多 "app like"。取消注释添加服务工作者的行并不能神奇地实现它一个 PWA,如果你没有将任何东西 "useful" 放入 service worker(你可能需要也可能不需要,这取决于你的应用程序的工作方式)。另请注意,您将需要 HTTPS 才能使用服务工作者。
您还需要从 index.html 中手动删除包含 cordova.js 的行(如果您只上传 /www,这将是一个 404 错误)。
我使用此命令构建网络应用程序
ionic cordova build browser
然后将内容从IONIC-PROJECT/platforms/browser/www复制到网络服务器。
我想将我的应用程序发布为 PWA,所以我所做的是
将此脚本插入到 index.html
<!--script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
.then(() => console.log('service worker installed'))
.catch(err => console.log('Error', err));
}
</script-->
然后安装
npm run ionic:build --prod
看起来好像部署了它,但我的问题是:
- 我需要将哪些文件上传到主机才能将应用程序发布为 PWA?
为什么当我在应用程序中更改某些内容时 运行 ionic serve 没有任何更改,它仅在 WWW 文件夹的 index.html 中更改?为什么?(因为现在是 PWA 了??)
当我打开 www 文件夹时,我 运行 打开 index.html 当我按下打开警报对话框的按钮时,它没有打开那个。为什么?
- 当我运行命令?只是发展到最后?
运行
ionic cordova platform add browser
ionic build browser --prod --release
然后转到 [project_folder]/platforms/browser/www
并在您的 http 服务器上复制内容。
不要为 PWA 而使用 Cordova。只需使用 npm run build --prod
并上传 /www
文件夹。
PWA 更多的是概念的集合,所以不仅仅是 "on" 或 "off"。至少你可能想要添加一个清单文件,这样你就可以通过隐藏浏览器框架、设置你的图标、应用程序名称等来让它变得更多 "app like"。取消注释添加服务工作者的行并不能神奇地实现它一个 PWA,如果你没有将任何东西 "useful" 放入 service worker(你可能需要也可能不需要,这取决于你的应用程序的工作方式)。另请注意,您将需要 HTTPS 才能使用服务工作者。
您还需要从 index.html 中手动删除包含 cordova.js 的行(如果您只上传 /www,这将是一个 404 错误)。
我使用此命令构建网络应用程序
ionic cordova build browser
然后将内容从IONIC-PROJECT/platforms/browser/www复制到网络服务器。