الفرق بين المراجعتين ل"Cordova/platform plugin versioning ref"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:إدارة إصدارات المنصات والإضافات في Cordova }}</noinclude> تصنيف: Cordova ==مصادر== * [https://rub...')
 
سطر 2: سطر 2:
 
[[تصنيف: Cordova]]
 
[[تصنيف: Cordova]]
  
 +
منذ الإصدار 4.3.0، تتيح Cordova القدرة على حفظ واستعادة المنصات والإضافات.
  
==مصادر==
+
تسمح هذه الميزة للمطورين بحفظ تطبيقاتهم عند حالة سابقة واستعادتها لاحقًا دون الحاجة إلى مراجعة كل التعليمات في الشيفرة المصدرية للمنصة أو الإضافة.
* [https://ruby-doc.org/core-2.5.1/Array.html صفحة الصنف Array في توثيق روبي الرسمي.]
+
 
 +
عند إضافة منصة أو إضافة، ستُحفظ تفاصيل منصة التطبيق وإصدارات الإضافة تلقائيًا في الملفين <code>config.xml</code> و <code>package.json</code>. من الممكن أن تضيف منصة أو إضافة عن طريق تعديل أحد الملفين <code>package.json</code> أو <code>config.xm</code>l مباشرة، على افتراض أنك على علمٍ بالوسوم والصيغ الصحيحة. من جهة أخرى، لا يمكن إزالة الإضافات أو المنصات بهذه الطريقة. والطريقة الموصى بها لفعل ذلك هي باستخدام سطر أوامر كوردوفا عبر كتابة التعليمتين <code>cordova plugin add|remove ...‎</code> و <code>cordova platform add | remove ...‎</code> لتجنب أي مشاكل متعلقة بالمزامنة.
 +
 
 +
تُحدَّث "الاستعادة" (restore) تلقائيًا عند إجراء الأمر "<code>cordova prepare</code>"، عبر استخدام المعلومات المحفوظة مسبقًا في الملفين <code>config.xml</code> و <code>package.json</code>.
 +
 
 +
القدرة على الحفظ والاستعادة مفيدة جدا للتطبيقات التي يعمل عليها فريق كبير، بحيث يركز كل عضو في الفريق على منصة أو إضافة معينة. تسهّل هذه الميزة تشارك المشروع وتقليل حجم الشيفرة البرمجية التي يجب أن تُراجَع في المستودع.
 +
 
 +
== إصدارات المنصات (Platform Versioning) ==
 +
 
 +
=== حفظ المنصات ===
 +
يمكنك حفظ منصة معينة عبر الأمر التالي:<syntaxhighlight lang="console">
 +
$ cordova platform add <platform[@<version>] | directory | git_url>
 +
 
 +
</syntaxhighlight>بعد تنفيذ الأمر أعلاه، سيبدو الملف <code>config.xml</code> الناتج على النحو التالي:<syntaxhighlight lang="xml">
 +
<?xml version='1.0' encoding='utf-8'?>
 +
    ...
 +
    <engine name="android" spec="~4.0.0" />
 +
    ...
 +
</xml>
 +
</syntaxhighlight>أما ملف <code>package.json</code> الناتج فهكذا سيبدو:<syntaxhighlight lang="json">
 +
"cordova": {"platforms": ["android"]},"dependencies": {"cordova-android": "^4.0.0"}
 +
 
 +
</syntaxhighlight>
 +
 
 +
==== أمثلة ====
 +
* '<code>cordova platform add android</code>' => تسترد النسخة المثبتة من منصة الأندرويد، وتضيفها إلى المشروع، ثم تُحدّث الملفين <code>config.xml</code> و <code>package.json</code>.
 +
* '<code>cordova platform add android@3.7.0</code>' => تسترد منصة الأندرويد ذات الإصدار 3.7.0 عبر مدير الحُزم npm، ثم تضيفها إلى المشروع، ثم تُحدّث الملفين <code>config.xml</code> و <code>package.json</code>.
 +
* '<code>cordova platform add <nowiki>https://github.com/apache/cordova-android.git</nowiki></code>' => يثّبّت مدير الحُزم npm منصة كوردوفا-أندرويد (cordova-android) المحددة من مستودع git، ثم تضيف منصة الأندرويد إلى المشروع، ثم تُحدّث الملفين <code>config.xml</code> و<code>package.json</code>، وتحدد نسختها من عنوان مستودع git ‏(git-url‏).
 +
* "<code>cordova platform add C:/path/to/android/platform</code> '=> تسترد منصة الأندرويد من المجلد المحدد، ثم تضيفها إلى المشروع، ثم تُحدّث الملفين <code>config.xml</code> و <code>package.json</code> ثم تُؤشّر (points) إلى ذلك الملف.
 +
* '<code>cordova platform add android --nosave</code>' => تسترد إصدار منصة الأندرويد المثبتة، وتضيفها إلى المشروع، بيْد أنها لا تضيفها إلى الملفين <code>config.xml</code> أو <code>package.json</code>.
 +
* '<code>cordova platform remove android --nosave</code>' => تزيل منصة الأندرويد من المشروع، ولكن لا تزيله من الملفين <code>config.xml</code> أو <code>package.json</code>.
 +
 
 +
== الحفظ الجماعي للمنصات في مشروع قائم (Mass saving platforms on an existing project) ==
 +
إذا كان لديك مشروع موجود مسبقًا، وأردت حفظ جميع المنصات المضافة حاليًا إلى مشروعك، فيمكنك استخدام:<syntaxhighlight lang="console">
 +
$ cordova platform save
 +
 
 +
</syntaxhighlight>
 +
 
 +
=== تحديث وإزالة المنصات ===
 +
من الممكن تحديث أو حذف المنصات من الملفين <code>config.xml</code> و <code>package.json</code> عبر الأمرين "<code>cordova platform update</code>" و "<code>cordova platform remove</code>":<syntaxhighlight lang="console">
 +
$ cordova platform update <platform[@<version>] | directory | git_url> --save
 +
$ cordova platform remove <platform>
 +
</syntaxhighlight>
 +
 
 +
==== أمثلة ====
 +
* "<code>cordova platform update android --save</code>" => فضلًا عن تحديث منصة الأندرويد إلى الإصدار المثبت، فستحدِّث هذه التعليمة مدخل <code>config.xml</code>
 +
* "<code>cordova platform update android@3.8.0 --save</code>" => فضلًا عن تحديث منصة الأندرويد إلى الإصدار 3.8.0، ستحدث هذه التعليمة مدخل <code>config.xml</code>
 +
* "<code>cordova platform update /path/to/android/platform --save</code>' => إضافة إلى تحديث منصة الأندرويد إلى الإصدار الموجود في المجلد المحدد، ستحدث هذه التعليمة المدخل <code>config.xml</code>
 +
* <code>'cordova platform remove android'</code> => تزيل منصة الأندرويد من المشروع، وتحذف مدخلاته من الملفين <code>config.xml</code> و <code>package.json</code>.
 +
 
 +
== استعادة المنصات (Restoring platforms) ==
 +
تُستعاد المنصات تلقائيًا من الملفين <code>package.json</code> و <code>config.xml</code> عند إجراء الأمر '<code>cordova prepare</code>'. يُفترض بعد إجراء ذلك الأمر أن يحتوي الملفان <code>package.json</code> و <code>config.xml</code> على منصات وإصدارات متطابقة.
 +
 
 +
إن أضفت منصة دون تحديد الإصدار أو المجلد أو عنوان مستودع git، فسيُثبَّت الإصدار الموجود في الملف <code>package.json</code> أو <code>config.xml</code> في حال العثور عليه. وفي حالة وجود تعارض، يُعطى <code>package.json</code> الأسبقية على <code>config.xml</code>.
 +
 
 +
=== أمثلة ===
 +
 
 +
==== <u>مثال 1</u> ====
 +
لنفترض أن ملف <code>config.xml</code> يحتوي على المدخلات التالية:<syntaxhighlight lang="xml">
 +
<?xml version='1.0' encoding='utf-8'?>
 +
    ...
 +
    <engine name="android" spec="3.7.0" />
 +
    ...
 +
</xml>
 +
</syntaxhighlight>إذا أجريْت الأمر '<code>cordova platform add android</code>' (دون أن تحدد الإصدار أو المجلد أو عنوان مستودع git)، فستُثبّت المنصة 'android@3.7.0' (يُستخلص الإصدار من <code>config.xml</code>).
 +
 
 +
==== <u>مثال 2</u> ====
 +
مثال يوضح قواعد الأسبقية في استعادة المنصات.
 +
 
 +
لنفترض أن ملف <code>config.xml</code> يحتوي على المنصة والإصدار التاليين:<syntaxhighlight lang="xml">
 +
<engine name="android" spec=“1.0.0” ></div>
 +
 
 +
</syntaxhighlight>ولنفترض أن <code>package.json</code> يحتوي المنصة والإصدار التاليين:<syntaxhighlight lang="json">
 +
"cordova": {"platforms": ["android"]},"dependencies": {"cordova-android": "4.0.0"}
 +
 
 +
</syntaxhighlight>عند إجراء الأمر <code>prepare</code>، تُعطى محتويات <code>package.json</code> الأسبقية، وسيُحدّث كلا الملفين <code>config.xml</code> و <code>package.json</code> حتى يشيرا إلى نفس المنصات والمتغيرات. لاحظ كيف استُبدل في الملف <code>config.xml</code> الإصدار 4.0.0 (من <code>package.json</code>) بالإصدار (1.0.0).
 +
 
 +
بعد إجراء الأمر '<code>cordova prepare</code>'، سيبدو ملف <code>config.xml</code> الناتج كالتالي:<syntaxhighlight lang="xml">
 +
<engine name="android" spec=“4.0.0” ></div>
 +
 
 +
</syntaxhighlight>فيما سيبدو ملف <code>package.json</code> الناتج كالتالي:<syntaxhighlight lang="json">
 +
"cordova": {"platforms": ["android",]},"dependencies": {"cordova-android": "4.0.0"}
 +
 
 +
</syntaxhighlight>
 +
 
 +
== إصدارات الإضافات (Plugin Versioning) ==
 +
(أوامر الإضافة هي مرآة لأوامر المنصة)
 +
 
 +
=== حفظ الإضافات ===
 +
لحفظ إضافة، يمكنك إجراء الأمر التالي:<syntaxhighlight lang="console">
 +
$ cordova plugin add <plugin[@<version>] | directory | git_url>
 +
 
 +
</syntaxhighlight>بعد إجراء الأمر أعلاه، سيبدو ملف <code>config.xml</code> الناتج كالتالي:<syntaxhighlight lang="xml">
 +
<?xml version='1.0' encoding='utf-8'?>
 +
    ...
 +
    <plugin name="cordova-plugin-console" spec="~1.0.0" />
 +
    ...
 +
</xml>
 +
</syntaxhighlight>وسيبدو ملف <code>package.json</code> الناتج كالتالي:<syntaxhighlight lang="json">
 +
"cordova": {"plugins": ["cordova-plugin-console"]},"dependencies": {"cordova-plugin-console": "^1.0.0"}
 +
 
 +
</syntaxhighlight>تمنع الراية "‎<code>--nosave</code>" إضافة وحذف الإضافات المحددة من الملفين <code>config.xml</code> و <code>package.json</code>.
 +
 
 +
لمنع حفظ إضافة معينة، يمكنك إجراء الأمر التالي:<syntaxhighlight lang="console">
 +
$ cordova plugin add <plugin[@<version>] | directory | git_url> --nosave
 +
 
 +
</syntaxhighlight>
 +
 
 +
==== أمثلة ====
 +
* '<code>cordova plugin add cordova-plugin-console</code>' => يسترد هذا الأمر النسخة المثبتة من الإضافة <code>console</code>، ثم يضيفها إلى المشروع، ثم يُحدِّث الملفين <code>config.xml</code> و <code>package.json</code>.
 +
* '<code>cordova plugin add cordova-plugin-console@0.2.13</code>' => يسترد إضافة الأندرويد ذات الإصدار 0.2.13 عبر مدير الحُزم npm، ويضيفها إلى المشروع، ثم يُحدّث الملفين <code>config.xml</code> و <code>package.json</code>.
 +
* <code>'plugin cordova add <nowiki>https://github.com/apache/cordova-plugin-console.git</nowiki></code>' => يُثبت مديرُ الحزم npm الإضافةَ المحددة من مستودع git، ويضيفها إلى المشروع، ثم يُحدّث الملفين <code>config.xml</code> و <code>package.json</code> ويستخلص رقم الإصدار من عنوان مستودع git ‏(git-url) المحدد.
 +
* '<code>cordova plugin add C: / path / to / console / plugin</code>' => يستعيد الإضافة <code>console</code> من المجلد المحدد، ويضيفها إلى المشروع، ثم يُحدّث <code>config.xml</code> و <code>package.json</code> ويشير (points) إلى المجلد.
 +
 
 +
=== الحفظ الجماعي للإضافات في مشروع موجود (Mass saving plugins on an existing project) ===
 +
إن كان لديك مشروع موجود مسبقًا، وكنت ترغب في حفظ جميع الإضافات المضافة حاليًا إلى المشروع، فيمكنك استخدام:<syntaxhighlight lang="console">
 +
$ cordova plugin save
 +
 
 +
</syntaxhighlight>
 +
 
 +
=== إزالة الإضافات ===
 +
من الممكن حذف الإضافات من الملفين <code>config.xml</code> و <code>package.json</code> عبر الأمر '<code>cordova plugin remove</code>':<syntaxhighlight lang="console">
 +
$ cordova plugin remove <plugin>
 +
 
 +
</syntaxhighlight>
 +
 
 +
==== <u>مثال</u> ====
 +
* '<code>cordova plugin remove cordova-plugin-console</code>' => يزيل الإضافة <code>console</code> من المشروع ويحذف مدخلاتها من الملفين <code>config.xml</code> و <code>package.json</code>.
 +
 
 +
=== استعادة الإضافات (Restoring plugins) ===
 +
تٌستعاد الإضافات تلقائيًا من الملفين <code>package.json</code> و <code>config.xml</code> عند إجراء الأمر '<code>cordova prepare</code>'.
 +
 
 +
يُفترض بعد إجراء الأمر prepare أن يحتوي الملفان package.json و config.xml على إضافات وإصدارات متطابقة.
 +
 
 +
إن أضفت إضافة دون تحديد الإصدار أو المجلد أو عنوان المستودع git، فسيُستخلص الإصدار المراد تثبيته من الملف <code>package.json</code> أو <code>config.xml</code>، في حال العثور عليه. وفي حال وجود تعارض، سيُعطى الملف <code>package.json</code> الأسبقية على <code>config.xml</code>.
 +
 
 +
==== أمثلة ====
 +
 
 +
===== <u>مثال 1</u> =====
 +
لنفترض أن ملف <code>config.xml</code> يحتوي على المدخلات التالية:<syntaxhighlight lang="xml">
 +
<?xml version='1.0' encoding='utf-8'?>
 +
    ...
 +
    <plugin name="cordova-plugin-console" spec="0.2.11" />
 +
    ...
 +
</ xml>
 +
</syntaxhighlight>إذا قمت بإجراء الأمر "<code>Cordova plugin add cordova-plugin-console</code>" (دون أن تحدّد الإصدار أو المجلد أو عنوان مستودع git)، فستُثبت الإضافة "<code>cordova-plugin-console@0.2.11</code>" (يُستخلص الإصدار من <code>config.xml</code>).
 +
 
 +
===== <u>مثال 2</u> =====
 +
مثال يوضح قواعد الأسبقية في استعادة الإضافات.
 +
 
 +
لنفترض أن الملف <code>config.xml</code> يحتوي على الإضافة والإصدار التاليين:<syntaxhighlight lang="xml">
 +
<plugin name="cordova-plugin-splashscreen"></div>
 +
 
 +
</syntaxhighlight>ولنفترض أن الملف <code>package.json</code> يحتوي على الإضافة والإصدار التاليين:<syntaxhighlight lang="json">
 +
"cordova": {"plugins": {"cordova-plugin-splashscreen" : {} } },"dependencies": {"cordova-plugin-splashscreen": "1.0.0"}
 +
 
 +
</syntaxhighlight>عند إجراء الأمر <code>prepare</code>، تُعطى الأسبقية لمحتويات <code>package.json</code>، ويُحدّث الملفان <code>config.xml</code> و <code>package.json</code> بحيث يحتويان على إضافات ومتغيرات متطابقة. لاحظ كيف أُضيف الإصدار الموجود في <code>package.json‏</code> (1.0) إلى الملف <code>config.xml</code>.
 +
 
 +
بعد إجراء الأمر '<code>cordova prepare</code>'، سيبدو الملف <code>config.xml</code> الناتج كالتالي:<syntaxhighlight lang="xml">
 +
<plugin name="cordova-plugin-splashscreen" spec="1.0.0"></div>
 +
 
 +
</syntaxhighlight>وسيبدو ملف <code>package.json</code> كالتالي:<syntaxhighlight lang="json">
 +
"cordova": {"plugins": {"cordova-plugin-splashscreen" : {} } },"dependencies": {"cordova-plugin-splashscreen": "1.0.0"}
 +
 
 +
</syntaxhighlight>
 +
 
 +
== مصادر ==
 +
* [https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/index.html صفحة إدارة إصدارات المنصات والإضافات في توثيق كوردوفا الرسمي.]

مراجعة 10:57، 18 نوفمبر 2018


منذ الإصدار 4.3.0، تتيح Cordova القدرة على حفظ واستعادة المنصات والإضافات.

تسمح هذه الميزة للمطورين بحفظ تطبيقاتهم عند حالة سابقة واستعادتها لاحقًا دون الحاجة إلى مراجعة كل التعليمات في الشيفرة المصدرية للمنصة أو الإضافة.

عند إضافة منصة أو إضافة، ستُحفظ تفاصيل منصة التطبيق وإصدارات الإضافة تلقائيًا في الملفين config.xml و package.json. من الممكن أن تضيف منصة أو إضافة عن طريق تعديل أحد الملفين package.json أو config.xml مباشرة، على افتراض أنك على علمٍ بالوسوم والصيغ الصحيحة. من جهة أخرى، لا يمكن إزالة الإضافات أو المنصات بهذه الطريقة. والطريقة الموصى بها لفعل ذلك هي باستخدام سطر أوامر كوردوفا عبر كتابة التعليمتين cordova plugin add|remove ...‎ و cordova platform add | remove ...‎ لتجنب أي مشاكل متعلقة بالمزامنة.

تُحدَّث "الاستعادة" (restore) تلقائيًا عند إجراء الأمر "cordova prepare"، عبر استخدام المعلومات المحفوظة مسبقًا في الملفين config.xml و package.json.

القدرة على الحفظ والاستعادة مفيدة جدا للتطبيقات التي يعمل عليها فريق كبير، بحيث يركز كل عضو في الفريق على منصة أو إضافة معينة. تسهّل هذه الميزة تشارك المشروع وتقليل حجم الشيفرة البرمجية التي يجب أن تُراجَع في المستودع.

إصدارات المنصات (Platform Versioning)

حفظ المنصات

يمكنك حفظ منصة معينة عبر الأمر التالي:

$ cordova platform add <platform[@<version>] | directory | git_url>

بعد تنفيذ الأمر أعلاه، سيبدو الملف config.xml الناتج على النحو التالي:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <engine name="android" spec="~4.0.0" />
    ...
</xml>

أما ملف package.json الناتج فهكذا سيبدو:

"cordova": {"platforms": ["android"]},"dependencies": {"cordova-android": "^4.0.0"}

أمثلة

  • 'cordova platform add android' => تسترد النسخة المثبتة من منصة الأندرويد، وتضيفها إلى المشروع، ثم تُحدّث الملفين config.xml و package.json.
  • 'cordova platform add android@3.7.0' => تسترد منصة الأندرويد ذات الإصدار 3.7.0 عبر مدير الحُزم npm، ثم تضيفها إلى المشروع، ثم تُحدّث الملفين config.xml و package.json.
  • 'cordova platform add https://github.com/apache/cordova-android.git' => يثّبّت مدير الحُزم npm منصة كوردوفا-أندرويد (cordova-android) المحددة من مستودع git، ثم تضيف منصة الأندرويد إلى المشروع، ثم تُحدّث الملفين config.xml وpackage.json، وتحدد نسختها من عنوان مستودع git ‏(git-url‏).
  • "cordova platform add C:/path/to/android/platform '=> تسترد منصة الأندرويد من المجلد المحدد، ثم تضيفها إلى المشروع، ثم تُحدّث الملفين config.xml و package.json ثم تُؤشّر (points) إلى ذلك الملف.
  • 'cordova platform add android --nosave' => تسترد إصدار منصة الأندرويد المثبتة، وتضيفها إلى المشروع، بيْد أنها لا تضيفها إلى الملفين config.xml أو package.json.
  • 'cordova platform remove android --nosave' => تزيل منصة الأندرويد من المشروع، ولكن لا تزيله من الملفين config.xml أو package.json.

الحفظ الجماعي للمنصات في مشروع قائم (Mass saving platforms on an existing project)

إذا كان لديك مشروع موجود مسبقًا، وأردت حفظ جميع المنصات المضافة حاليًا إلى مشروعك، فيمكنك استخدام:

$ cordova platform save

تحديث وإزالة المنصات

من الممكن تحديث أو حذف المنصات من الملفين config.xml و package.json عبر الأمرين "cordova platform update" و "cordova platform remove":

$ cordova platform update <platform[@<version>] | directory | git_url> --save
$ cordova platform remove <platform>

أمثلة

  • "cordova platform update android --save" => فضلًا عن تحديث منصة الأندرويد إلى الإصدار المثبت، فستحدِّث هذه التعليمة مدخل config.xml
  • "cordova platform update android@3.8.0 --save" => فضلًا عن تحديث منصة الأندرويد إلى الإصدار 3.8.0، ستحدث هذه التعليمة مدخل config.xml
  • "cordova platform update /path/to/android/platform --save' => إضافة إلى تحديث منصة الأندرويد إلى الإصدار الموجود في المجلد المحدد، ستحدث هذه التعليمة المدخل config.xml
  • 'cordova platform remove android' => تزيل منصة الأندرويد من المشروع، وتحذف مدخلاته من الملفين config.xml و package.json.

استعادة المنصات (Restoring platforms)

تُستعاد المنصات تلقائيًا من الملفين package.json و config.xml عند إجراء الأمر 'cordova prepare'. يُفترض بعد إجراء ذلك الأمر أن يحتوي الملفان package.json و config.xml على منصات وإصدارات متطابقة.

إن أضفت منصة دون تحديد الإصدار أو المجلد أو عنوان مستودع git، فسيُثبَّت الإصدار الموجود في الملف package.json أو config.xml في حال العثور عليه. وفي حالة وجود تعارض، يُعطى package.json الأسبقية على config.xml.

أمثلة

مثال 1

لنفترض أن ملف config.xml يحتوي على المدخلات التالية:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <engine name="android" spec="3.7.0" />
    ...
</xml>

إذا أجريْت الأمر 'cordova platform add android' (دون أن تحدد الإصدار أو المجلد أو عنوان مستودع git)، فستُثبّت المنصة 'android@3.7.0' (يُستخلص الإصدار من config.xml).

مثال 2

مثال يوضح قواعد الأسبقية في استعادة المنصات.

لنفترض أن ملف config.xml يحتوي على المنصة والإصدار التاليين:

<engine name="android" spec=“1.0.0” ></div>

ولنفترض أن package.json يحتوي المنصة والإصدار التاليين:

"cordova": {"platforms": ["android"]},"dependencies": {"cordova-android": "4.0.0"}

عند إجراء الأمر prepare، تُعطى محتويات package.json الأسبقية، وسيُحدّث كلا الملفين config.xml و package.json حتى يشيرا إلى نفس المنصات والمتغيرات. لاحظ كيف استُبدل في الملف config.xml الإصدار 4.0.0 (من package.json) بالإصدار (1.0.0). بعد إجراء الأمر 'cordova prepare'، سيبدو ملف config.xml الناتج كالتالي:

<engine name="android" spec=“4.0.0” ></div>

فيما سيبدو ملف package.json الناتج كالتالي:

"cordova": {"platforms": ["android",]},"dependencies": {"cordova-android": "4.0.0"}

إصدارات الإضافات (Plugin Versioning)

(أوامر الإضافة هي مرآة لأوامر المنصة)

حفظ الإضافات

لحفظ إضافة، يمكنك إجراء الأمر التالي:

$ cordova plugin add <plugin[@<version>] | directory | git_url>

بعد إجراء الأمر أعلاه، سيبدو ملف config.xml الناتج كالتالي:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <plugin name="cordova-plugin-console" spec="~1.0.0" />
    ...
</xml>

وسيبدو ملف package.json الناتج كالتالي:

"cordova": {"plugins": ["cordova-plugin-console"]},"dependencies": {"cordova-plugin-console": "^1.0.0"}

تمنع الراية "‎--nosave" إضافة وحذف الإضافات المحددة من الملفين config.xml و package.json. لمنع حفظ إضافة معينة، يمكنك إجراء الأمر التالي:

$ cordova plugin add <plugin[@<version>] | directory | git_url> --nosave

أمثلة

  • 'cordova plugin add cordova-plugin-console' => يسترد هذا الأمر النسخة المثبتة من الإضافة console، ثم يضيفها إلى المشروع، ثم يُحدِّث الملفين config.xml و package.json.
  • 'cordova plugin add cordova-plugin-console@0.2.13' => يسترد إضافة الأندرويد ذات الإصدار 0.2.13 عبر مدير الحُزم npm، ويضيفها إلى المشروع، ثم يُحدّث الملفين config.xml و package.json.
  • 'plugin cordova add https://github.com/apache/cordova-plugin-console.git' => يُثبت مديرُ الحزم npm الإضافةَ المحددة من مستودع git، ويضيفها إلى المشروع، ثم يُحدّث الملفين config.xml و package.json ويستخلص رقم الإصدار من عنوان مستودع git ‏(git-url) المحدد.
  • 'cordova plugin add C: / path / to / console / plugin' => يستعيد الإضافة console من المجلد المحدد، ويضيفها إلى المشروع، ثم يُحدّث config.xml و package.json ويشير (points) إلى المجلد.

الحفظ الجماعي للإضافات في مشروع موجود (Mass saving plugins on an existing project)

إن كان لديك مشروع موجود مسبقًا، وكنت ترغب في حفظ جميع الإضافات المضافة حاليًا إلى المشروع، فيمكنك استخدام:

$ cordova plugin save

إزالة الإضافات

من الممكن حذف الإضافات من الملفين config.xml و package.json عبر الأمر 'cordova plugin remove':

$ cordova plugin remove <plugin>

مثال

  • 'cordova plugin remove cordova-plugin-console' => يزيل الإضافة console من المشروع ويحذف مدخلاتها من الملفين config.xml و package.json.

استعادة الإضافات (Restoring plugins)

تٌستعاد الإضافات تلقائيًا من الملفين package.json و config.xml عند إجراء الأمر 'cordova prepare'.

يُفترض بعد إجراء الأمر prepare أن يحتوي الملفان package.json و config.xml على إضافات وإصدارات متطابقة.

إن أضفت إضافة دون تحديد الإصدار أو المجلد أو عنوان المستودع git، فسيُستخلص الإصدار المراد تثبيته من الملف package.json أو config.xml، في حال العثور عليه. وفي حال وجود تعارض، سيُعطى الملف package.json الأسبقية على config.xml.

أمثلة

مثال 1

لنفترض أن ملف config.xml يحتوي على المدخلات التالية:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <plugin name="cordova-plugin-console" spec="0.2.11" />
    ...
</ xml>

إذا قمت بإجراء الأمر "Cordova plugin add cordova-plugin-console" (دون أن تحدّد الإصدار أو المجلد أو عنوان مستودع git)، فستُثبت الإضافة "cordova-plugin-console@0.2.11" (يُستخلص الإصدار من config.xml).

مثال 2

مثال يوضح قواعد الأسبقية في استعادة الإضافات.

لنفترض أن الملف config.xml يحتوي على الإضافة والإصدار التاليين:

<plugin name="cordova-plugin-splashscreen"></div>

ولنفترض أن الملف package.json يحتوي على الإضافة والإصدار التاليين:

"cordova": {"plugins": {"cordova-plugin-splashscreen" : {} } },"dependencies": {"cordova-plugin-splashscreen": "1.0.0"}

عند إجراء الأمر prepare، تُعطى الأسبقية لمحتويات package.json، ويُحدّث الملفان config.xml و package.json بحيث يحتويان على إضافات ومتغيرات متطابقة. لاحظ كيف أُضيف الإصدار الموجود في package.json‏ (1.0) إلى الملف config.xml. بعد إجراء الأمر 'cordova prepare'، سيبدو الملف config.xml الناتج كالتالي:

<plugin name="cordova-plugin-splashscreen" spec="1.0.0"></div>

وسيبدو ملف package.json كالتالي:

"cordova": {"plugins": {"cordova-plugin-splashscreen" : {} } },"dependencies": {"cordova-plugin-splashscreen": "1.0.0"}

مصادر