· Frontend  · 3 min read

Vue Hybrid App 專案初始化

誰說手機App只能使用原生語言開發呢?我們就來使用原本拿來網頁的JavaScript來寫出一個令人驚豔的App...

一個採用 Vue.js 、 Cordova 及 Capacitor 套件而成的 Hybrid App


使用JavaScript開發App-Github

前置作業:Vue與Cordova專案融合

  1. 創建及合併專案
# 若沒有Cordova指令,需安裝全域Cordova
$ npm install -g cordova

# !!!一定要先創建Cordova的專案,才可以創建Vue專案
# 創建Cordova 專案
$ cordova create 專案名

# 創建Vue專案,專案名需與Cordova的一樣
$ vue create 專案名

此時,會出現這個畫面
VueMergeCor
請選擇 Merge ,讓兩個專案合併

  1. 設定環境
  • 新增Vue設定檔
    $ cd 專案名
    $ touch vue.config.js # 創建Vue的設定檔
  • 在vue.config.js 輸入以下
module.exports = {
  //基本路徑
  publicPath: './',
  //輸出文件目錄
  outputDir: 'www',
  productionSourceMap: false, //不生成map
};
  • 安裝Cordova Plugin環境
$ npm install vue-cordova
  • main.js中加入
import VueCordova from 'vue-cordova';
Vue.use(VueCordova);
if (window.location.protocol === 'file:' || window.location.port === '3000') {
  var cordovaScript = document.createElement('script');
  cordovaScript.setAttribute('type', 'text/javascript');
  cordovaScript.setAttribute('src', 'cordova.js');
  document.body.appendChild(cordovaScript);
}

Cordova Plugins 安裝


使用 Cordova 指令輸出

各App平台輸出專案位置

  1. iOS:platforms/ios
  2. Android:platforms/android

Vue輸出app專案

  • 若platforms下無此專案,請執行:
  1. iOS: $ cordova platform add ios
  2. Android:$ cordova platform add android
  • 若platforms下已有此專案,且Vue專案已做更改,需重新輸出App,請執行:

    1. iOS:
    $ npm run build
    $ cordova build ios
    
    # 此專案也寫好了Script,可直接執行
    $ npm run cor_ios
    1. Android:
    $ npm run build
    $ cordova build android
    
    # 此專案也寫好了Script,可直接執行
    $ npm run cor_android

使用 Capacitor 指令輸出

安裝 Capacitor

$ npm install --save @capacitor/core @capacitor/cli

初始化Cap

$ npx cap init

Capacitor輸出設定檔

  • capacitor.config.json

各App平台輸出專案位置

  1. iOS:./ios
  2. Android:./android

Vue輸出app專案

  • 若無app專案,請先執行:
  1. iOS: $ npx cap add ios
  2. Android:$ npx cap add android
  • 若已有app專案,且Vue專案已做更改,需重新輸出App,請執行:

    1. iOS:
    $ npm run build
    $ npx cap copy
    $ npx cap open ios
    
    # 此專案也寫好了Script,可直接執行
    $ npm run cap_ios
    1. Android:
    $ npm run build
    $ npx cap copy
    $ npx cap open android
    
    # 此專案也寫好了Script,可直接執行
    $ npm run cap_android

觀看UI修改,Hot Reload

$ npm run serve

相關文章

使用很夯的Vue Vine實現多元件於一身

使用很夯的Vue Vine實現多元件於一身

於2024/07/06的Vue Conf上,沈青川大大介紹了新專案 - Vue Vine,其中 "於一檔案寫入多組元件",就是它最核心的功能,其保有Vue的模板與邏輯分離特色,但也融入React多元件於一身精神,使管理上更加簡單。同時非常感謝有各路大神們,不斷創造新工具,讓大家嘗鮮又能滿足各種開發願望,希望此篇開箱 & 小踩坑可以幫助到想將多元件寫於同一檔案作管理的讀者。