--- license: > Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. title: 外掛程式規範 toc_title: Plugin.xml文件 --- # 外掛程式規範 `plugin.xml`檔是一個 XML 文檔在 `plugins` 命名空間: `http://apache.org/cordova/ns/plugins/1.0` 。 它包含頂級 `plugin` 元素,定義該外掛程式和定義外掛程式的結構的兒童。 示例外掛程式元素: ## *外掛程式*元素 `plugin`元素是外掛程式清單的頂級元素。它具有下列屬性: * `xmlns`(必填): 外掛程式的命名空間, `http://apache.org/cordova/ns/plugins/1.0` 。 如果文檔包含 XML 從其他命名空間如標記添加到 `AndroidManifest.xml` 檔中,這些命名空間,也應該列入的頂級元素。 * `id`(必填): 一個反向域樣式識別碼的外掛程式,如`com.alunny.foo` * `version`(必填): 該外掛程式相匹配的以下主要-未成年人-修補程式樣式的正則運算式的版本號: ^\d+[.]\d+[.]\d+$ ## *發動機*和*引擎*的元素 子項目的 `` 元素指定版本的此外掛程式支援的基於 Apache 科爾多瓦的框架。示例: 類似于 `` 元素的 `version` 屬性中,指定的版本字串應匹配符合正則運算式的字串主要-未成年人-修補程式: ^\d+[.]\d+[.]\d+$ 引擎的元素也可指定模糊比對為了避免重複,並減少維護基礎平臺更新時。 工具應該支援的最低 `>` , `>=` , `<` 和 `<=` ,例如: ``標籤也有預設支援的所有主要平臺存在的科爾多瓦。 指定 `cordova` 引擎標記,則意味著所有版本的科爾多瓦在任何平臺上必須都滿足發動機版本屬性。 你可能還會列出特定的平臺和它們的版本以覆蓋全部捕獲 `cordova` 引擎: 這裡是`< engine >`標記支援預設引擎的清單: * `cordova` * `cordova-plugman` * `cordova-amazon-fireos` * `cordova-android` * `cordova-ios` * `cordova-blackberry10` * `cordova-wp8` * `cordova-windows8` * `android-sdk` // returns the highest Android api level installed * `apple-xcode` // returns the xcode version * `apple-ios` // returns the highest iOS version installed * `apple-osx` // returns the OSX version * `blackberry-ndk` // returns the native blackberry SDK version 指定自訂的基於 Apache 科爾多瓦的框架應列出引擎標記下就像這樣: 一個自訂的基於 Apache 科爾多瓦框架需要引擎的元素包含以下特性: `name` , `version` , `scriptSrc` ,和`platform`. * `name`(必填): 人類可讀的名稱為您自訂的框架。 * `version`(必填): 您的框架必須要安裝的版本。 * `scriptSrc`(必填): 告訴 plugman 是什麼版本的自訂框架的指令檔。 理想情況下,這個檔應該在你的外掛程式目錄的頂級目錄內。 * `platform`(必填): 您的框架支援哪些平臺。 您可以使用萬用字元`*`說支援的所有平臺,指定多個像`android|ios|blackberry10`的管道字元或只是一個單一的平臺,像`android`. plugman 中止與非零代碼為其目標專案不能滿足發動機的約束任何外掛程式。 如果不是 `` 指定的標記、 plugman 嘗試盲目地安裝到指定的科爾多瓦的專案目錄。 ## *名稱*元素 該外掛程式,其文本內容包含外掛程式的名稱人類可讀的名稱。例如: Foo 此元素還不能 () 處理當地語系化。 ## *說明*元素 對該外掛程式的人類可讀說明。元素的文本內容包含外掛程式的描述。示例: Foo plugin description 此元素還不能 () 處理當地語系化。 ## *作者*元素 外掛程式作者姓名。元素的文本內容包含外掛程式作者的姓名。示例: Foo plugin description ## *關鍵字*元素 外掛程式關鍵字。元素的文本內容包含以逗號分隔的關鍵字來描述該外掛程式。示例: foo,bar ## *許可證*元素 外掛程式許可。元素的文本內容包含外掛程式許可證。示例: Apache 2.0 License ## *資產*元素 一個或多個元素列出檔或目錄複寫到科爾多瓦 app `www` 目錄。例子: 所有 `` 標籤需要兩個 `src` 和 `target` 的屬性。 只有 web 外掛程式包含主要是 `` 的元素。 任何 `` 元素的嵌套在 `` 元素指定特定于平臺 web 資產,如下所述。 屬性包括: * `src`(必填): 檔或目錄位於外掛程式包,相對於`plugin.xml`文檔。 如果檔不存在指定的`src`地點,plugman 停止反轉安裝過程,發出一個通知關於衝突,和與非零代碼退出。 * `target` (required): 在那裡的檔或目錄應位於科爾多瓦 app,相對於`www`目錄。 資產可以有針對性地對子目錄,例如: 創建`js/experimental`目錄在`www`目錄中,除非已經呈現,然後將`new-foo.js`檔案複製並重命名為`foo.js`。 如果目標位置已存在的檔,plugman 停止和反轉安裝過程、 然後發出一個通知關於衝突,並在此與非零代碼退出。 ## *js 模組*元素 大多數的外掛程式包括一個或多個 JavaScript 檔。 每個 `` 標記對應于一個 JavaScript 檔,並防止外掛程式的使用者不必添加 `