使用 Plugman 來管理外掛程式

從 3.0 版本開始,科爾多瓦實現所有設備 Api 作為外掛程式,然後留在預設情況下禁用。 此外,它還支援兩種不同的方法來添加和刪除外掛程式,根據您的工作流概述中討論的選擇:

  • 如果您使用跨平臺的工作流,則使用 cordova CLI 實用程式添加外掛程式,如所述的命令列介面。 CLI 一次修改所有指定平臺的外掛程式。

  • 如果你使用的平臺為中心的工作流程,您使用一個較低級別的Plugman命令列介面,分別為每個目標平臺。

本節詳細介紹的 Plugman 實用程式。 消費作為節點模組 Plugman 或修改的原始程式碼的詳細資訊,請參閱其庫中的讀我檔案.

安裝 Plugman

要安裝 plugman,您必須在您的機器上安裝的節點。 然後您可以運行下面的命令從任意位置在您的環境以全域,安裝 plugman,這樣就可從任何目錄中:

$ npm install -g plugman

您還必須有有 git 上你 PATH ,以便能夠直接從遠端 git Url 安裝的外掛程式。

提示: 如果您在安裝與 plugman 後發現 npm 你是仍然不能運行任何 plugman 的命令,請確保您已添加 /npm/ 目錄到您PATH.

: 您可以跳過此步驟,如果你不想污染您的全球性 npm 通過全球範圍內安裝 Plugman 的命名空間。 如果這種情況,然後當你與外殼工具創建科爾多瓦專案,將有 node_modules 目錄裡面您的專案包含 Plugman。 由於全球範圍內你沒有安裝,您需要調用 node 的每個 Plugman 命令,例如 node ./node_modules/plugman/main.js -version 。 本指南的其餘部分假定您已安裝 Plugman 就全球而言,意味著您可以調用它與只是plugman.

創建一個專案,科爾多瓦

您可以使用 Plugman 之前,您必須創建一個科爾多瓦專案。 你可以用命令列介面或更低的級別的 shell 腳本。 使用 shell 腳本來創建您的專案的說明都位於平臺指南頁上列出的各項"命令列工具"指南。

添加外掛程式

一旦你已經安裝了 Plugman,並已創建一個科爾多瓦專案,您可以開始將外掛程式添加到與平臺:

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

使用最小的參數,此命令將外掛程式安裝到科爾多瓦的一個專案。 您必須指定一個為該平臺的平臺和科爾多瓦的專案位置。 此外必須指定與不同的外掛程式, --plugin 參數形式是:

  • name: 目錄名稱外掛程式內容存在的地方。 這必須是現有目錄下的 --plugins_dir 路徑 (見下面的詳細資訊) 或一個外掛程式在科爾多瓦註冊表中的。
  • url: URL 以 HTTPs:// 或 git 開始: / / 指向一個有效 git 存儲庫,是複本,包含 plugin.xml 檔。 這個資料庫的內容將複製到--plugins_dir.
  • path: 目錄包含一個有效的外掛程式,其中包括路徑 plugin.xml 檔。此路徑的內容將被覆制到--plugins_dir.

其他參數:

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

刪除某個外掛程式

若要卸載外掛程式,你只需通過 --uninstall 標記,並提供外掛程式 id。

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

説明命令

Plugman 特色全球説明命令,可以説明你如果你卡住或遇到的問題。它將顯示所有可用的 Plugman 命令和它們的語法的清單:

plugman -help
plugman  # same as above

plugman -help 可能會顯示一些額外的與註冊表相關的命令。 這些命令用於外掛程式開發人員,不可能進行協力廠商外掛程式登記處。

您還可以將追加 --debug|-d 旗子到任何 Plugman 命令以運行該命令以詳細模式,將顯示任何內部調試消息,因為他們排放和可説明您跟蹤下像缺少檔的問題。

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

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

plugman -v

註冊表操作

那裡有很多的 plugman 命令,可以用於與外掛程式註冊表進行交互。 請注意這些註冊表命令是特定于plugins.cordova.io外掛程式註冊表,不可能由協力廠商外掛程式登記處執行。

尋找一個外掛程式

您可以使用 Plugman 來搜索外掛程式註冊表外掛程式 id 的匹配給定以空格分隔的關鍵字清單。

plugman search <plugin keywords>

更改外掛程式註冊表

您可以獲取或設置當前外掛程式註冊表的 URL,使用的 plugman。通常你應該離開這在 HTTP://registry.cordova.io 設置,除非您想要使用協力廠商外掛程式註冊表。

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

獲取外掛程式的資訊

您可以獲得有關任何特定外掛程式在外掛程式庫中存儲的資訊:

plugman info <id>

這將聯繫的外掛程式註冊表和提取資訊,如外掛程式的版本編號。

安裝核心外掛程式

下面的示例顯示如何添加外掛程式,如需要,這樣您在您的專案中使用任何科爾多瓦 Api 仍然工作後你升級到 3.0 版本。對於每個命令,你需要選擇目標平臺,並引用該平臺的專案目錄。

  • cordova-plugin-battery-status

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-battery-status

  • cordova-plugin-camera

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-camera

  • cordova-plugin-console

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-console

  • cordova-plugin-contacts

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-contacts

  • cordova-plugin-device

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device

  • cordova-plugin-device-motion (accelerometer)

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device-motion

  • cordova-plugin-device-orientation (compass)

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device-orientation

  • cordova-plugin-dialogs

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-dialogs

  • cordova-plugin-file

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-file

  • cordova-plugin-file-transfer

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-file-transfer

  • cordova-plugin-geolocation

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-geolocation

  • cordova-plugin-globalization

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-globalization

  • cordova-plugin-inappbrowser

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-inappbrowser

  • cordova-plugin-media

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-media

  • cordova-plugin-media-capture

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-media-capture

  • cordova-plugin-network-information

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-network-information

  • cordova-plugin-splashscreen

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-splashscreen

  • cordova-plugin-vibration

    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-vibration