2017-05-26 120 views
6

我要發佈我的應用程序作爲PWA所以我所做的是離子3發佈的應用程序作爲PWA(逐行Web應用程序)

插入此腳本的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. 當我運行命令?只有在發展的最後?

回答

9

運行

ionic cordova platform add browser

ionic build browser --prod --release

然後去[project_folder]/platforms/browser/www,並在你的HTTP服務器複製的內容。

+0

當我這樣做?當我完成應用程序的開發?因爲我現在運行,當我在我的應用程序中更改某些內容並運行離子服務時,我看不到更改。 –

+0

它應該用'離子模擬瀏覽器--livereload'完成。但它有一些問題(https://stackoverflow.com/questions/44178594/ionic-run-browser-livereload-not-working)(https://github.com/driftyco/ionic-cli/issues/790 ) –

+0

當我運行離子cordova模擬添加瀏覽器--livereload它顯示我「你添加平臺沒有Api.js」 –

7

不要打擾科爾多瓦PWA。只需使用npm run build --prod並上傳/www文件夾即可。

PWA更多的是一個概念集合,所以它不僅僅是「開」或「關」。至少儘管你可能想要添加一個清單文件,所以你可以通過隱藏瀏覽器框架,設置你的圖標,應用程序名等,使其更像「應用程序樣式」,設置你的圖標,應用程序名稱等。取消註釋添加服務人員的行並不奇蹟般地使它成​​爲PWA如果您沒有將任何「有用」的東西放入服務人員(根據您的應用程序的工作原理,您可能需要也可能不需要這樣做)。另請注意,您需要使用HTTPS才能使用服務工作人員。

您還需要手動從index.html中刪除包含cordova.js的行(如果您只上傳/ www,將會出現404錯誤)。

+0

這種方法會影響開發例如,架構,不包括支持瀏覽器平臺的本地插件。 –

+1

這是正確的。儘管我在瀏覽器中看到的工作「不錯」,但通常會在代碼中檢查平臺並隱藏某些按鈕等。其餘的本地特定代碼已經檢查可用性,但是當然取決於您可能需要使用cordova瀏覽器的應用程序類型,但我認爲這是「可以」用作PWA的應用程序的例外情況。 –

+0

請詳細說明將平臺瀏覽器添加到Ionic的優點(或缺點)。它做什麼,爲什麼我需要它?根據我的理解,某些Cordova插件(或Ionic Native)也可以定位瀏覽器,並且如果將它作爲PWA運行,它會自動回退到該位置。不支持瀏覽器的插件將需要爲Web提供包裝和後備服務 - 是否正確? – Rodney

相關問題