使用 Plugman 管理外掛程式

從 3.0 版本開始,Cordova 將所有裝置 API 實作為外掛程式,並且預設為停用。它還支援兩種不同的方式來新增和移除外掛程式,具體取決於您在概觀中討論的工作流程選擇。

  • 如果您使用跨平台工作流程,您可以使用 cordova CLI 工具來新增外掛程式,如命令列介面中所述。CLI 會一次性修改所有指定平台的外掛程式。

  • 如果您使用以平台為中心的工作流程,您可以使用較低階的 Plugman 命令列介面,針對每個目標平台分別操作。

本節詳細介紹 Plugman 工具。有關將 Plugman 作為 Node 模組使用或修改原始碼的更多資訊,請參閱其儲存庫中的 README 檔案

安裝 Plugman

要安裝 plugman,您必須在您的機器上安裝 node。然後,您可以從環境中的任何位置執行以下命令,以全域安裝 plugman,使其可從任何目錄存取

$ npm install -g plugman

您還必須在您的 PATH 中加入 git,才能夠直接從遠端 git URL 安裝外掛程式。

提示:如果您發現使用 npm 安裝 plugman 後仍然無法執行任何 plugman 命令,請確保您已將 /npm/ 目錄新增到您的 PATH 中。

注意:如果您不想透過全域安裝 Plugman 來污染您的全域 npm 命名空間,則可以跳過此步驟。在這種情況下,當您使用 shell 工具建立 Cordova 專案時,您的專案內會有一個包含 Plugman 的 node_modules 目錄。由於您未全域安裝,因此您需要針對每個 Plugman 命令調用 node,例如 node ./node_modules/plugman/main.js -version。本指南的其餘部分假設您已全域安裝 Plugman,這表示您可以使用 plugman 來調用它。

建立 Cordova 專案

在使用 Plugman 之前,您必須建立 Cordova 專案。您可以使用命令列介面或較低階的 shell 腳本來完成此操作。有關使用 shell 腳本建立專案的說明,請參閱平台指南頁面上列出的各種「命令列工具」指南。

新增外掛程式

安裝 Plugman 並建立 Cordova 專案後,您可以使用以下命令開始將外掛程式新增到平台:

$ plugman install --platform <ios|android> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]

使用最少參數,此命令會將外掛程式安裝到 cordova 專案中。您必須指定平台和該平台的 cordova 專案位置。您還必須指定外掛程式,其中 --plugin 參數的不同形式為

  • name:外掛程式內容所在的目錄名稱。這必須是 --plugins_dir 路徑下的現有目錄(請參閱下文了解更多資訊)或是 Cordova 註冊表中的外掛程式。
  • url:以 https:// 或 git:// 開頭的 URL,指向可複製且包含 plugin.xml 檔案的有效 git 儲存庫。此儲存庫的內容將被複製到 --plugins_dir
  • path:指向包含有效外掛程式(包括 plugin.xml 檔案)的目錄的路徑。此路徑的內容將被複製到 --plugins_dir

其他參數

  • --plugins_dir 預設為 <project>/cordova/plugins,但可以是包含每個提取外掛程式子目錄的任何目錄。
  • --www 預設為專案的 www 資料夾位置,但可以是任何要用作 cordova 專案應用程式網路資產的目錄。
  • --variable 允許在安裝時指定某些變數,這對於某些需要 API 金鑰或其他自訂、使用者定義參數的外掛程式是必要的。有關更多資訊,請參閱外掛程式規範

移除外掛程式

要解除安裝外掛程式,您只需傳遞 uninstall 命令並提供外掛程式 ID 即可。

$ plugman uninstall --platform <ios|android> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]

說明命令

Plugman 具有全域說明命令,如果您遇到困難或問題,可能會對您有所幫助。它會顯示所有可用的 Plugman 命令及其語法的列表

plugman -help
plugman  # same as above

注意plugman -help 可能會顯示一些其他與註冊表相關的命令。這些命令適用於外掛程式開發人員,並且可能不會在第三方外掛程式註冊表上實作。

您也可以在任何 Plugman 命令中附加 --debug|-d 標誌,以在詳細模式下執行該命令,這會顯示任何內部的除錯訊息,並可能有助於您追蹤遺失檔案等問題。

# Adding Android battery-status plugin to "myProject":
plugman -d install --platform android --project myProject --plugin cordova-plugin-battery-status

最後,您可以使用 --version|-v 標誌來查看您使用的 Plugman 版本。

plugman -v

註冊表操作

有許多 plugman 命令可用於與 外掛程式註冊表互動。請注意,這些註冊表命令是特定於 plugins.cordova.io 外掛程式註冊表的,並且可能不會由第三方外掛程式註冊表實作。

搜尋外掛程式

您可以使用 Plugman 在 外掛程式註冊表中搜尋與給定的以空格分隔的關鍵字列表相符的外掛程式 ID。

plugman search <plugin keywords>

變更外掛程式註冊表

您可以獲取或設定 plugman 目前正在使用的外掛程式註冊表的 URL。通常,除非您想要使用第三方外掛程式註冊表,否則您應該將其設定為 http://registry.cordova.io。

plugman config set registry <url-to-registry>
plugman config get registry

獲取外掛程式資訊

您可以使用以下命令獲取有關外掛程式儲存庫中儲存的任何特定外掛程式的資訊:

plugman info <id>

這將連線至外掛程式註冊表並提取外掛程式的版本號等資訊。

安裝核心外掛程式

下面的範例顯示如何根據需要新增外掛程式,以便您在升級到 3.0 版本後,您在專案中使用的任何 Cordova API 仍然可以正常運作。對於每個命令,您需要選擇目標平台,並參考該平台的專案目錄。

  • cordova-plugin-battery-status

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-battery-status
    
  • cordova-plugin-camera

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-camera
    
  • cordova-plugin-console

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-console
    
  • cordova-plugin-contacts

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-contacts
    
  • cordova-plugin-device

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device
    
  • cordova-plugin-device-motion (加速度計)

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-motion
    
  • cordova-plugin-device-orientation (羅盤)

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-orientation
    
  • cordova-plugin-dialogs

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-dialogs
    
  • cordova-plugin-file

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file
    
  • cordova-plugin-file-transfer

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file-transfer
    
  • cordova-plugin-geolocation

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-geolocation
    
  • cordova-plugin-globalization

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-globalization
    
  • cordova-plugin-inappbrowser

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-inappbrowser
    
  • cordova-plugin-media

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media
    
  • cordova-plugin-media-capture

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media-capture
    
  • cordova-plugin-network-information

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-network-information
    
  • cordova-plugin-splashscreen

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-splashscreen
    
  • cordova-plugin-vibration

      plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-vibration