离子3发布应用程序作为PWA(Progressive Web App)

时间:2017-05-26 06:52:57

标签: 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 => console.log('Error', err));
    }
</script-->

然后安装

npm run ionic:build --prod 

它看起来像部署它但我的问题是:

  1. 我需要将哪些文件上传到主机以将应用程序发布为PWA?
  2. 为什么当我在应用程序中更改某些内容并运行离子服务时,没有任何更改,它只在WWW文件夹的index.html中更改?为什么?(因为现在是PWA?)

  3. 当我打开www文件夹并运行打开index.html时,按下打开警告对话框的按钮,它不会打开。为什么呢?

  4. 当我运行命令时?只是在发展的最后阶段?

3 个答案:

答案 0 :(得分:16)

运行

ionic cordova platform add browser

ionic build browser --prod --release

然后转到[project_folder]/platforms/browser/www并将内容复制到http服务器。

答案 1 :(得分:10)

不要为Cordova打扰PWA。只需使用npm run build --prod并上传/www文件夹即可。

PWA更像是一系列概念,所以它不只是&#34;在&#34;或&#34;关闭&#34;。至少你可能想要添加一个清单文件,这样你可以更多地使用#34; app喜欢&#34;通过隐藏浏览器框架,设置你的图标,应用程序名称等。如果你没有放任何东西&#34;有用的话,取消注释添加服务工作者的行并不会神奇地使它成为PWA。进入服务工作者(您可能需要或可能不需要这样做,具体取决于您的应用程序的工作方式)。另请注意,您将需要HTTPS才能使用服务工作者。

您还需要手动删除index.html中包含cordova.js的行(如果您只是上传/ www,则会出现404错误)。

答案 2 :(得分:0)

我使用此命令来构建Web应用

ionic cordova build browser

然后将内容从IONIC-PROJECT / platforms / browser / www复制到Web服务器。