الفرق بين المراجعتين ل"Cordova/cli"
سطر 345: | سطر 345: | ||
save | | save | | ||
]</syntaxhighlight> | ]</syntaxhighlight> | ||
− | + | {| class="wikitable" | |
− | الخيار | + | !أوامر فرعية |
− | + | !الخيار | |
− | + | !الشرح | |
− | + | |- | |
− | يضيف هذا الأمر | + | |<code>add <plugin-spec> [...]</code> |
− | - | + | | |
− | عند البحث عن الإضافات عبر مُعرِّفها (ID)، فسيتم البحث أولا في هذا المجلد وكل من المجلدات الفرعية الخاصة به قبل البحث في السجل (registry). يمكن تحديد عدة مسارات للبحث. استخدم ":" كفاصل في أنظمة <code>*nix</code> و "؛" في ويندوز. | + | |يضيف هذا الأمر إضافات محددة |
− | --noregistry | + | |- |
− | لا تبحث في السجل عن الإضافات. | + | | |
− | --link | + | |<code>add <plugin-spec> [...]</code> |
− | عند التثبيت من مسار محلي، فسيتم إنشاء رابط رمزي (symbolic link) بدلاً من نسخ الملفات. يختلف مدى ارتباط الملفات حسب المنصة. | + | |عند البحث عن الإضافات عبر مُعرِّفها (ID)، فسيتم البحث أولا في هذا المجلد وكل من المجلدات الفرعية الخاصة به قبل البحث في السجل (registry). يمكن تحديد عدة مسارات للبحث. استخدم ":" كفاصل في أنظمة <code>*nix</code> و "؛" في ويندوز. |
− | --nosave | + | |- |
− | عدم حفظ <code><plugin-spec></code> كجزء من العنصر <code>plugin</code> في | + | | |
− | --browserify | + | |<code>--noregistry</code> |
− | تصريف (Compile) إضافة [[JavaScript| | + | |لا تبحث في السجل عن الإضافات. |
− | --force | + | |- |
− | تم | + | | |
− | remove ` | + | |<code>--link</code> |
− | `[...] | + | |عند التثبيت من مسار محلي، فسيتم إنشاء رابط رمزي (symbolic link) بدلاً من نسخ الملفات. يختلف مدى ارتباط الملفات حسب المنصة. وهو أمر مفيد لتطوير الإضافات. |
− | --nosave | + | |- |
− | عدم إزالة الإضافة المحددة من | + | | |
− | list | + | |<code>--nosave</code> |
− | + | |عدم حفظ <code><plugin-spec></code> كجزء من العنصر <code>plugin</code> في الملفين <code>config.xml</code> و <code>package.json</code>. | |
− | سرد قائمة من الإضافات المثبتة حاليا | + | |- |
− | + | | | |
− | + | |<code>--browserify</code> | |
− | البحث في http://plugins.cordova.io عن الإضافات التي تطابق الكلمات الرئيسية | + | |تصريف (Compile) إضافة [[JavaScript|جافاسكريبت]] في وقت البناء باستخدام browserify بدلا من runtime. |
− | save | + | |- |
− | + | | | |
− | حفظ العنصر <code><plugin-spec></code> الخاص بجميع الإضافات المضافة حاليًا إلى المشروع | + | |<code>--force</code> |
− | == تحديد الإضافات (Plugin-spec) == | + | |تم تقديم هذا الأمر في الإصدار 6.1. يفرض نسخ الملفات المصدرية من الإضافة حتى لو كان الملف نفسه موجودًا سلفًا في المجلد الهدف. |
+ | |- | ||
+ | |<code>remove `</code> | ||
+ | |<code>`[...]</code> | ||
+ | | | ||
+ | |- | ||
+ | |<code>remove <platform>[...]</code> | ||
+ | |<code>--nosave</code> | ||
+ | |عدم إزالة الإضافة المحددة من الملفين <code>config.xml</code> و <code>package.json</code> | ||
+ | |- | ||
+ | |<code>list</code> | ||
+ | | | ||
+ | |سرد قائمة من الإضافات المثبتة حاليا | ||
+ | |- | ||
+ | |<code>search [<keyword>][...]</code> | ||
+ | | | ||
+ | |البحث في الصفحة http://plugins.cordova.io عن الإضافات التي تطابق الكلمات الرئيسية. | ||
+ | |- | ||
+ | |<code>save</code> | ||
+ | | | ||
+ | |حفظ العنصر <code><plugin-spec></code> الخاص بجميع الإضافات المضافة حاليًا إلى المشروع | ||
+ | |} | ||
+ | === تحديد الإضافات (Plugin-spec) === | ||
هناك عدة طرق لتحديد الإضافة: | هناك عدة طرق لتحديد الإضافة: | ||
<syntaxhighlight lang="console"><plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]</syntaxhighlight> | <syntaxhighlight lang="console"><plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]</syntaxhighlight> | ||
− | القيمة | + | {| class="wikitable" |
− | + | !القيمة | |
− | scope | + | !الشرح |
− | نطاق الإضافة المنشورة على هيئة [https://docs.npmjs.com/misc/scope scoped npm package] | + | |- |
− | plugin | + | |<code>scope</code> |
− | + | |نطاق الإضافة المنشورة على هيئة حزمة npm نطاقية ([https://docs.npmjs.com/misc/scope scoped npm package]) | |
− | version | + | |- |
− | مُحدِّد الإصدار (version specifier) على هيئة " | + | |<code>plugin</code> |
− | directory | + | |مُعرّف (id) الإضافة (معرف الإضافة في سجل npm أو في <code>--searchPath</code>) |
− | المجلد الذي يحتوي على الملف plugin.xml | + | |- |
− | url | + | |<code>version</code> |
− | رابط مستودع git الذي يحتوي الملف plugin.xml | + | |مُحدِّد الإصدار (version specifier) على هيئة "رئيسي.فرعي.رُقعة" (Major.minor.patch) باستخدام الإصدار الرمزي semver |
− | commit-ish | + | |- |
− | مرجع الالتزام/الوسم/الفرع (Commit/tag/branch). إذا لم يتم تحديد أي منها، فسيتم استخدام "master" | + | |<code>directory</code> |
− | == خوارزمية | + | |المجلد الذي يحتوي على الملف <code>plugin.xml</code> |
+ | |- | ||
+ | |<code>url</code> | ||
+ | |رابط مستودع git الذي يحتوي الملف <code>plugin.xml</code> | ||
+ | |- | ||
+ | |<code>commit-ish</code> | ||
+ | |مرجع "الالتزام/الوسم/الفرع" (Commit/tag/branch). إذا لم يتم تحديد أي منها، فسيتم استخدام القيمة "<code>master</code>" | ||
+ | |} | ||
+ | === خوارزمية حل الإضافات (Algorithm for resolving plugins) === | ||
− | + | عندما تضيف إضافة إلى مشروع، ستعمل واجهة سطر الأوامر على حل (تحديد) الإضافة استنادًا إلى المعايير التالية (مدرجة حسب الأسبقية): | |
* قيمة العنصر <code>plugin-spec</code> الوارد في الأمر (على سبيل المثال <code>cordova plugin add pluginID@version</code>) | * قيمة العنصر <code>plugin-spec</code> الوارد في الأمر (على سبيل المثال <code>cordova plugin add pluginID@version</code>) | ||
− | * قيمة <code>plugin-spec</code> المحفوظة في الملفين <code>config.xml</code> و <code>package.json</code> (أي إن سبق وأضيفت الإضافة بدون الخيار <code>--nosave</code>) | + | * قيمة <code>plugin-spec</code> المحفوظة في الملفين <code>config.xml</code> و <code>package.json</code> (أي إن سبق وأضيفت الإضافة بدون الخيار <code>--nosave</code>) |
− | * اعتبارًا من الإصدار 1.6 من كوردوفا، أحدث إصدار منشور من الإضافة في مدير الحُزم npm، والذي يمكن للمشروع الحالي دعمه (ينطبق فقط على الإضافات التي تسرد | + | * اعتبارًا من الإصدار 1.6 من كوردوفا، أحدث إصدار منشور من الإضافة في مدير الحُزم npm، والذي يمكن للمشروع الحالي دعمه (ينطبق فقط على الإضافات التي تسرد [http://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html#specifying-project-requirements ارتباطاتها] في الملف <code>package.json</code>) |
− | * أحدث إصدار | + | * أحدث إصدار منشور فيnpm للإضافة. |
− | ==أمثلة== | + | ===أمثلة=== |
* | * | ||
− | + | * إضافة <code>cordova-plugin-camera</code> و <code>cordova-plugin-file</code> إلى المشروع، وحفظه في الملفين <code>config.xml</code> و <code>package.json</code>. واستخدام المجلد <code>../plugins</code> للبحث عن الإضافات. | |
− | <syntaxhighlight lang="console">cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins</syntaxhighlight> |
− | * | + | * إضافة <code>cordova-plugin-camera</code> مع الإصدار الرمزي [http://semver.org/ semver] <code>^2.0.0</code> وحفظه في الملفين <code>config.xml</code> و <code>package.json</code>: |
− | + | <syntaxhighlight lang="console">cordova plugin add cordova-plugin-camera@^2.0.0</syntaxhighlight> | |
− | إضافة <code>cordova-plugin-camera</code> مع [http://semver.org/ semver] | + | * يضيف هذا المثال الإضافة من المجلد المحلي المحدد: |
− | <syntaxhighlight lang="console">cordova plugin add cordova-plugin-camera@^2.0.0</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova plugin add ../cordova-plugin-camera</syntaxhighlight> |
− | * | + | * يضيف هذا المثال الإضافة من ملف tarball المحدد: |
− | + | <syntaxhighlight lang="console">cordova plugin add ../cordova-plugin-camera.tgz</syntaxhighlight> | |
− | + | * إزالة الإضافة من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | |
− | <syntaxhighlight lang="console">cordova plugin add ../cordova-plugin-camera</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova plugin rm camera</syntaxhighlight> |
− | * | + | * إزالة الإضافة من المشروع، دون إزالتها من الملفين <code>config.xml</code> أو <code>package.json</code>: |
− | + | <syntaxhighlight lang="console">cordova plugin rm camera --nosave</syntaxhighlight> | |
− | + | * إدارج قائمة من جميع الإضافات المثبتة في المشروع: | |
− | <syntaxhighlight lang="console">cordova plugin add ../cordova-plugin-camera.tgz</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova plugin ls</syntaxhighlight> |
− | * | + | === الإضافات المُتعارضة (Conflicting plugins) === |
− | |||
− | إزالة الإضافة من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | ||
− | <syntaxhighlight lang="console">cordova plugin rm camera</syntaxhighlight> | ||
− | * | ||
− | + | قد يحدث تعارض بين الإضافات في حال استخدَمت الإضافات المضافة الوسم <code>edit-config</code> في الملف <code>plugin.xml</code> الخاص بها. يُمكّن الوسم <code>edit-config</code> الإضافات من أن تضيف أو تستبدل خاصيات عناصر XML. | |
− | < | ||
− | |||
− | + | يمكن أن تتسبب هذه الميزة في حدوث مشكلات في التطبيق إن حاولت أكثر من إضافة واحدة تعديل نفس وسم XML. لقد تم تقديم (implement) عملية رصد التعارض لتمنع إضافة الإضافات حتى لا تقوم إحدى الإضافات بالكتابة فوق (overwrite) التغييرات التي إجرتها إضافة أخرى في الوسم <code>edit-config</code>. | |
− | < | ||
− | |||
− | + | سيُطلق خطأ عند العثور على تعارض في <code>edit-config</code>، ولن تُضاف الإضافة. ستنبه رسالة الخطأ إلى ضرورة حل جميع التعارضات قبل إضافة الإضافة. أحد الخيارات المتاحة لحل تعارض <code>edit-config</code> هو إجراء تغييرات في الملف <code>plugin.xml</code> الخاص بالإضافات المتأثرة بحيث لا تعدّل نفس عنصر XML. الخيار الآخر هو استخدام الراية <code>--force</code>، والتي تفرض إضافة الإضافة. يجب استخدام هذا الخيار بحذر لأنه يتجاهل التعارضات المرصودة، كما سيكتب فوق (overwrite) جميع التعارضات التي حدثت مع الإضافات الأخرى، وهذا سيترك الإضافات الأخرى في حالة سيئة. | |
− | + | ارجع إلى [[Cordova/plugin ref|دليل plugin.xml]] لإدارة <code>edit-config</code> وحل التعارضات، ولأجل الأمثلة. | |
− | + | == الأمر cordova prepare == | |
− | + | === ملخص === | |
− | == ملخص == | ||
يحوِّل هذا الأمر البيانات الوصفية في الملف config.xml إلى ملفات بيانية (manifest files) مخصوصة بالمنصات، وينسخ الأيقونات وشاشات البداية (splashscreens)، وينسخ ملفات الإضافات الخاصة بمنصات محددة بحيث يكون المشروع جاهزًا للبناء بواسطة بيئة العمل الأصلية SDK. | يحوِّل هذا الأمر البيانات الوصفية في الملف config.xml إلى ملفات بيانية (manifest files) مخصوصة بالمنصات، وينسخ الأيقونات وشاشات البداية (splashscreens)، وينسخ ملفات الإضافات الخاصة بمنصات محددة بحيث يكون المشروع جاهزًا للبناء بواسطة بيئة العمل الأصلية SDK. |
مراجعة 21:38، 7 ديسمبر 2018
يقدم هذا الدليل معلومات حول واجهة سطر الأوامر الخاصة بكوردوفا، والأوامر التي تُستخدم معها.
هذه هي الصيغة العامة لأوامر واجهة سطر الأوامر:
cordova <command> [options] -- [platformOpts]
لائحة الأوامر العامة
يمكن استخدام هذه الأوامر متوفرة في أي وقت.
الأمر | الشرح |
---|---|
create
|
إنشاء مشروع. |
help
|
الحصول على المساعدة بخصوص أمرٍ ما. |
telemetry
|
تفعيل مجموعة القياس (telemetry collection) أو إيقافها |
config
|
تعيين، و تحصيل، و حذف، و تعديل وسرد قائمة الخيارات العامة لكوردوفا |
لائحة أوامر المشروع
تُدعم هذه الأوامر عندما يكون مجلد العمل الحالي مشروعًا صالحًا لكوردوفا.
الأمر | الشرح |
---|---|
info
|
يولد هذا الأمر معلومات عن المشروع |
requirements
|
يتحقق من ويطبع جميع متطلبات التثبيت للمنصات المحددة |
platform
|
إدارة منصات المشاريع |
plugin
|
إدارة إضافات المشروع |
prepare
|
نسخ الملفات في المنصة (أو المنصات) لأجل البناء |
compile
|
بناء المنصة (ات) |
clean
|
تنظيف المشروع من آثار البناء |
run
|
تشغيل المشروع (بما في ذلك prepare && compile) |
serve
|
تشغيل المشروع مع خادم ويب محلي (بما في ذلك prepare) |
خيارات شائعة
تنطبق هذه الخيارات على جميع أوامر واجهة سطر الأوامر في كوردوفا.
الأمر | الشرح |
---|---|
-d أو --verbose | تقوم بإخراج معلومات أكثر تفصيلًا إلى الصدفة (shell). يمكنك أيضًا الاشتراك في الحدثين log و warn إذا كنت تستخدم cordova-cli كوحدة عقدية (node module) عبر استدعاء cordova.on('log', function() {}) أو cordova.on('warn', function() {}) .
|
-v أو --version | طباعة إصدار cordova-cli المثبت.
|
--no-update-notifier | سوف يعطل هذا الخيار ميزة التحقق من التحديثات. أو يمكنك بدلاً من ذلك إضافة التعبير "optOut": true في الملف ~/.config/configstore/update-notifier-cordova.json أو تعيين متغير البيئة NO_UPDATE_NOTIFIER عند أي قيمة (انظر التفاصيل في توثيق update-notifier).
|
--nohooks | منع تنفيذ الخطافات (مع استخدام التعبير النمطي RegExp الخاص بالخُطاف كمعامل) |
--no-telemetry | تعطيل مجموعة القياس عن بُعد (telemetry collection) الخاصة بالأمر الحالي. |
خيارات مخصوصة بالمنصات (Platform-specific options)
بعض الأوامر لها خيارات (platformOpts
) مخصوصة بمنصات معينة. يمكن استخدامها في واجهة سطر الأوامر مع الفاصل "--
"، والذي يوقف تحليل (parsing) الأمر في الوحدة cordova-lib
ويُمرر باقي الخيارات للمنصات لأجل تحليلها.
أمثلة
يوضح هذا المثال كيف يمكن استخدام واجهة سطر أوامر كوردوفا لإنشاء مشروع مع الإضافة camera
وتشغيله على منصة أندرويد. ويمكنك تحديد خيارات مخصوصة بمنصة معينة مثل الخيار --keystore
:
# إنشاء مشروع كوردوفا
cordova create myApp com.myCompany.myApp myApp
cd myApp
# يضيف هذا الأمر إلى المشروع إضافة الكاميرا ويسجل ذلك في الملفين
# config.xml و package.json
cordova plugin add cordova-plugin-camera
# يضيف هذا الأمر إلى المشروع إضافة منصة أندرويد ويسجل ذلك في الملفين
# config.xml و package.json
cordova platform add android
# يتحقق هذا الأمر مما إذا كان النظام مُعدا ليناء منصة أندرويد
cordova requirements android
# يبني أندرويد ويحذف المخرجات الزائدة
cordova build android --verbose
# يشغل المشروع على منصة أندرويد
cordova run android
# يقوم هذا الأمر بالبناء لأجل منصة أندرويد في وضعية الإطلاق مع معاملات التوقيع المحددة
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
الأمر cordova create
ملخص
ينشئ هذا الأمر هيكل المجلد الخاص بمشروع كوردوفا في المسار المحدد.
الصياغة
cordova create path [id [name [config]]] [options]
الأمر | الشرح |
---|---|
path
|
تنشئ هذه الخاصية مجلدًا، والذي يجب ألا يكون موجودًا سلفًا. لمزيد من التفاصيل حول بنية المجلد، انظر أدناه. |
id
|
القيمة الافتراضية: io.cordova.hellocordova
مُعرِّف لنمط النطاق العكسي (Reverse domain-style)، والذي يشير إلى الخاصية |
name
|
القيمة الافتراضية: HelloCordova
عنوان العرض الخاص بالتطبيق، والذي يرتبط بالعنصر |
config
|
سلسلة نصية وفق صيغة JSON، والتي ستُدرج الأزواج مفتاح/قيمة (key/values) الخاصة بها في الملف <path> /.cordova/config.json
|
خيارات
الأمر | الشرح |
---|---|
--template
|
استخدام قالب مخصصٍ محلي، أو من مُدير الحُزم NPM، أو من مستودع GitHub. |
--copy-from\
|
--src
|
--link-to
|
رابط رمزي (Symlink) يشير إلى المجلد www المحدد دون إنشاء نسخة منه.
|
بنية المجلد
تعمل واجهة سطر أوامر كوردوفا وفق بنية المجلد التالية:
myapp/
|-- config.xml
|-- hooks/
|-- merges/
| | |-- android/
| | |-- windows/
| | |-- ios/
|-- www/
|-- platforms/
| |-- android/
| |-- windows/
| |-- ios/
|-- plugins/
|--cordova-plugin-camera/
الملف Config.xml
يحتوي هذا الملف إعدادات تطبيقك، ويسمح لك بتخصيص سلوك مشروعك. انظر أيضا توثيق الملف Config.xml.
www/
يحتوي المجلد www/
على أصول الويب (web artifacts) الخاصة بالمشروع، مثل ملفات html. و cs. و js. كمطور لتطبيقات كوردوفا، فإن معظم الشيفرات البرمجية والأصول الخاصة بك ستوضع هنا. سيتم نسخها عبر الأمر cordova prepare
إلى المجلد www
الخاص بكل منصة على حدة. ويعاد إنتاج المجلد المصدري www
داخل المجلد الفرعي لكل منصة، مثلًا في المجلدين platforms/ios/www
أو platforms/android/assets/www
. نظرًا لكون واجهة سطر الأوامر تنسخ الملفات باستمرار من المجلد المصدري www
، فينبغي ألا تعدل إلا هذه الملفات، وليس الملفات الموجودة في المجلدات الفرعية للمنصات. إذا كنت تستخدم برنامجًا لإدارة الإصدارات، فعليط إضافة المجلد المصدري www
، جنبًا إلى جنب مع المجلد المُدمج (merges folder)، في نظام إدارة الإصدارات.
platforms/
يحتوي هذ المجلد على كافة الشيفرات المصدرية والبرامج النصية المبنية (build scripts) للمنصات التي تضيفها إلى مشروعك.
ملاحظة: عند استخدام واجهة سطر الأوامر لبناء تطبيقك، فعليك ألا تعدّل الملفات الموجودة في المجلد /platform/
، إلا إن كنت تعرف ما تفعله، أو إن كان التوثيق لا يمنع ذلك. الملفات الموجودة في هذا المجلد سيُكتب فوقها (overwritten) بشكل روتيني عند إعداد التطبيقات لأجل بنائها، أو عند إعادة تثبيت الإضافات.
plugins/
الإضافات التي أُضيفت ستُسختلص أو تُتسخ في هذا المجلد.
hooks
/
قد يحتوي هذا المجلد على نصوص برمجية تُستخدم لتخصيص أوامر واجهة سطر الأوامر. سيتم تنفيذ كل البرامج النصية التي تضيفها إلى هذه المجلدات قبل وبعد الأوامر المقابلة لاسم المجلد. وهو أمر مفيد لدمج أنظمة البناء خاصتك أو التكامل مع أنظمة إدارة الإصدارات.
راجع الصفحة الخطافات لمزيد من المعلومات.
merges/
يتم تضمين أصول الويب الخاصة بالمنصة (ملفات HTML و CSS وجافاسكريبت) داخل المجلدات الفرعية المناسبة في هذا المجلد. وتُنشر هذه الملفات عبر الأمر prepare
إلى المجلد الأصلي (native directory) المناسب. ستحل الملفات الموضوعة في المجلد merges/
محل الملفات المطابقة في المجلد www/
الخاص بالمنصة المعنية.
المثال التالي يفترض هيكل المشروع التالي:
merges/
|-- ios/
| -- app.js
|-- android/
| -- android.js
www/
-- app.js
بعد بناء مشروعي أندرويد و iOS، سيحتوي تطبيق أندرويد على الملفين app.js
و android.js
. أما تطبيق iOS فلن يحتوي إلا على الملف app.js
، الموجود في المسار merges/ios/app.js
، وسيتجاوز (override) الملف app.js
الموجود في المجلد www/
.
إداة الإصدارات
من المستحسن عدم إدراج المجلدين platforms/
و plugins/
في المجلدات التي يتحقق منها مدير الإصدارات، إذ أنها تحتوي عناصر وملفات بناء (build artifact) المشروع. ستُحفظ االمنصة والإضافة خاصتك في الملفين config.xml
و package.json
تلقائيًا. وسيتم تنزيلها عند تنفيذ الأمر cordova prepare
.
أمثلة
- إنشاء مشروع كوردوفا في المجلد
myapp
باستخدام المعرّف واسم العرض المحددين:
cordova create myapp com.mycompany.myteam.myapp MyApp
- إنشاء مشروع كوردوفا مع رابط رمزي (symlink) إلى مجلد
www
موجود. قد يكون هذا مفيدًا إن كنت تعتمد عملية بناء مخصصة، أو كانت لديك أصول تريد استخدامها في تطبيق كوردوفا الخاص بك:
cordova create myapp --link-to=../www
الأمر platform command
ملخص
يدير هذا الأمر منصات كوردوفا، إذ يسمح لك بإضافة التحديثات وإزالتها وتحديثها وإدراجها والتحقق منها.
تنفيذ الأوامر التي تضيف أو تزيل المنصات يؤثر على محتويات مجلد المشروع.
الصياغة
cordova {platform | platforms} [
add <platform-spec> [...] {--save | link=<path> } |
{remove | rm} platform [...] {--save}|
{list | ls} |
check |
save |
update ]
أوامر فرعية | الخيار | الشرح |
---|---|---|
add <platform-spec> [...]
|
إضافة منصات محددة | |
--nosave
|
عدم حفظ <platform-spec> في الملفين config.xml و package.json بعد تثبيتها باستخدام الوسم <engine>
| |
--link=<path>
|
--link=<path>
عندما يكون | |
remove <platform>[...]
|
إزالة المنصات المحددة | |
--nosave
|
عدم حذف المنصات المحددة من الملفين config.xml و package.json بعد إزالتها
| |
update platform[...]
|
تحديث المنصات المحددة | |
--save
|
تحديث الإصدار المحدد في الملف config.xml
| |
list
|
سرد جميع المنصات المثبتة والمتاحة في لائحة. | |
check
|
إدارج المنصات التي يمكن تحديثها عبر واجهة سطر الأوامر عبر الأمر platform update .
| |
save
|
حفظ العنصر <platform-spec> الخاص بجميع المنصات المضافة إلى الملف config.xml
|
تحديد المنصات (Platform-spec)
هناك عدة طرق لتحديد منصة معينة:
<platform-spec> : platform[@version] | path | url[#commit-ish]
القيمة | الشرح |
---|---|
platform
|
اسم المنصة، على سبيل المثال، android ، و ios ، وwindows إلخ. والتي يمكن إضافتها إلى المشروع. في كل نسخة جديدة من واجهة سطر أوامر كوردوفا يتم تسجيل إصدار لكل منصة. وفي حال عدم تحديد الإصدار، سيتم استخدام هذا الإصدار لإضافة المنصة.
|
version
|
مُحدِّد إصدار وفق الصيغة "رئيسي.فرعي.رقعة" (Major.minor.patch) باستخدام الإصدار الرمزي semver. |
path
|
المسار إلى المجلد أو الملف tarball الذي يحتوي المنصة. |
url
|
عنوان لمستودع git أو لملف tarball الذي يحتوي على منصة. |
commit-ish
|
المرجع "إلزام/وسم/فرع" (Commit/tag/branch). إذا لم يتم تحديد أي قيمة، فستُستخدم القيمة "master". |
المنصات المدعومة
- أندرويد
- iOS
- ويندوز (8.1, Phone 8.1, UWP - Windows 10)
- Blackberry10
- أوبونتو
- Browser
المنصات الموقوفة (Deprecated Platforms)
- Amazon-fireos (استخدم منصة أندرويد بدلاً منه)
- WP8 (استخدم ويندوز بدلاً منه)
- Windows 8.0 (استخدم الإصدارات القديمة من كوردوفا)
- نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا)
أمثلة
- إضافة إصدار مثبّت (pinned version) من المنصتين
android
وios
، وحفظ الإصدار الذي تم تنزيله في الملفينconfig.xml
وpackage.json
:
cordova platform add android ios
- إضافة منصة أندرويد مع الإصدار الرمزي
^ 5.0.0
وحفظه في الملفينconfig.xml
وpackage.json
:
cordova platform add android@^5.0.0
- إضافة المنصة عن طريق استنساخ مستودع git المحدد مع إضافة الوسم
4.0.0
:
cordova platform add https://github.com/myfork/cordova-android.git#4.0.0
- إضافة منصة باستخدام مجلد محلي باسم
android
:
cordova platform add ../android
- إضافة منصة باستخدام ملف tarball المحدد:
cordova platform add ../cordova-android.tgz
- إزالة منصة
android
من المشروع ومن الملفينconfig.xml
وpackage.json
:
cordova platform rm android
- إزالة منصة
android
من المشروع دون إزالتها من الملفينconfig.xml
وpackage.json
:
cordova platform rm android --nosave
- سرد قائمة من المنصات المتاحة والمثبتة مع أرقام إصداراتها. يفيد هذا في العثور على أرقام الإصدارات عند الإبلاغ عن المشاكل:
cordova platform ls
- حفظ إصدارات جميع المنصات المضافة حاليا إلى المشروع في الملفين
config.xml
وpackage.json
cordova platform save
الأمر cordova plugin
ملخص
يُمكّن هذا الأمر من إدارة إضافات المشروع
الصياغة
cordova {plugin | plugins} [
add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --browserify | --force} |
{remove | rm} {<pluginid> | <name>} --save |
{list | ls} |
search [<keyword>] |
save |
]
أوامر فرعية | الخيار | الشرح |
---|---|---|
add <plugin-spec> [...]
|
يضيف هذا الأمر إضافات محددة | |
add <plugin-spec> [...]
|
عند البحث عن الإضافات عبر مُعرِّفها (ID)، فسيتم البحث أولا في هذا المجلد وكل من المجلدات الفرعية الخاصة به قبل البحث في السجل (registry). يمكن تحديد عدة مسارات للبحث. استخدم ":" كفاصل في أنظمة *nix و "؛" في ويندوز.
| |
--noregistry
|
لا تبحث في السجل عن الإضافات. | |
--link
|
عند التثبيت من مسار محلي، فسيتم إنشاء رابط رمزي (symbolic link) بدلاً من نسخ الملفات. يختلف مدى ارتباط الملفات حسب المنصة. وهو أمر مفيد لتطوير الإضافات. | |
--nosave
|
عدم حفظ <plugin-spec> كجزء من العنصر plugin في الملفين config.xml و package.json .
| |
--browserify
|
تصريف (Compile) إضافة جافاسكريبت في وقت البناء باستخدام browserify بدلا من runtime. | |
--force
|
تم تقديم هذا الأمر في الإصدار 6.1. يفرض نسخ الملفات المصدرية من الإضافة حتى لو كان الملف نفسه موجودًا سلفًا في المجلد الهدف. | |
remove `
|
`[...]
|
|
remove <platform>[...]
|
--nosave
|
عدم إزالة الإضافة المحددة من الملفين config.xml و package.json
|
list
|
سرد قائمة من الإضافات المثبتة حاليا | |
search [<keyword>][...]
|
البحث في الصفحة http://plugins.cordova.io عن الإضافات التي تطابق الكلمات الرئيسية. | |
save
|
حفظ العنصر <plugin-spec> الخاص بجميع الإضافات المضافة حاليًا إلى المشروع
|
تحديد الإضافات (Plugin-spec)
هناك عدة طرق لتحديد الإضافة:
<plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]
القيمة | الشرح |
---|---|
scope
|
نطاق الإضافة المنشورة على هيئة حزمة npm نطاقية (scoped npm package) |
plugin
|
مُعرّف (id) الإضافة (معرف الإضافة في سجل npm أو في --searchPath )
|
version
|
مُحدِّد الإصدار (version specifier) على هيئة "رئيسي.فرعي.رُقعة" (Major.minor.patch) باستخدام الإصدار الرمزي semver |
directory
|
المجلد الذي يحتوي على الملف plugin.xml
|
url
|
رابط مستودع git الذي يحتوي الملف plugin.xml
|
commit-ish
|
مرجع "الالتزام/الوسم/الفرع" (Commit/tag/branch). إذا لم يتم تحديد أي منها، فسيتم استخدام القيمة "master "
|
خوارزمية حل الإضافات (Algorithm for resolving plugins)
عندما تضيف إضافة إلى مشروع، ستعمل واجهة سطر الأوامر على حل (تحديد) الإضافة استنادًا إلى المعايير التالية (مدرجة حسب الأسبقية):
- قيمة العنصر
plugin-spec
الوارد في الأمر (على سبيل المثالcordova plugin add pluginID@version
) - قيمة
plugin-spec
المحفوظة في الملفينconfig.xml
وpackage.json
(أي إن سبق وأضيفت الإضافة بدون الخيار --nosave
) - اعتبارًا من الإصدار 1.6 من كوردوفا، أحدث إصدار منشور من الإضافة في مدير الحُزم npm، والذي يمكن للمشروع الحالي دعمه (ينطبق فقط على الإضافات التي تسرد ارتباطاتها في الملف
package.json
) - أحدث إصدار منشور فيnpm للإضافة.
أمثلة
- إضافة
cordova-plugin-camera
وcordova-plugin-file
إلى المشروع، وحفظه في الملفينconfig.xml
وpackage.json
. واستخدام المجلد ../plugins
للبحث عن الإضافات.
cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins
- إضافة
cordova-plugin-camera
مع الإصدار الرمزي semver ^2.0.0
وحفظه في الملفينconfig.xml
وpackage.json
:
cordova plugin add cordova-plugin-camera@^2.0.0
- يضيف هذا المثال الإضافة من المجلد المحلي المحدد:
cordova plugin add ../cordova-plugin-camera
- يضيف هذا المثال الإضافة من ملف tarball المحدد:
cordova plugin add ../cordova-plugin-camera.tgz
- إزالة الإضافة من المشروع ومن الملفين
config.xml
وpackage.json
:
cordova plugin rm camera
- إزالة الإضافة من المشروع، دون إزالتها من الملفين
config.xml
أوpackage.json
:
cordova plugin rm camera --nosave
- إدارج قائمة من جميع الإضافات المثبتة في المشروع:
cordova plugin ls
الإضافات المُتعارضة (Conflicting plugins)
قد يحدث تعارض بين الإضافات في حال استخدَمت الإضافات المضافة الوسم edit-config
في الملف plugin.xml
الخاص بها. يُمكّن الوسم edit-config
الإضافات من أن تضيف أو تستبدل خاصيات عناصر XML.
يمكن أن تتسبب هذه الميزة في حدوث مشكلات في التطبيق إن حاولت أكثر من إضافة واحدة تعديل نفس وسم XML. لقد تم تقديم (implement) عملية رصد التعارض لتمنع إضافة الإضافات حتى لا تقوم إحدى الإضافات بالكتابة فوق (overwrite) التغييرات التي إجرتها إضافة أخرى في الوسم edit-config
.
سيُطلق خطأ عند العثور على تعارض في edit-config
، ولن تُضاف الإضافة. ستنبه رسالة الخطأ إلى ضرورة حل جميع التعارضات قبل إضافة الإضافة. أحد الخيارات المتاحة لحل تعارض edit-config
هو إجراء تغييرات في الملف plugin.xml
الخاص بالإضافات المتأثرة بحيث لا تعدّل نفس عنصر XML. الخيار الآخر هو استخدام الراية --force
، والتي تفرض إضافة الإضافة. يجب استخدام هذا الخيار بحذر لأنه يتجاهل التعارضات المرصودة، كما سيكتب فوق (overwrite) جميع التعارضات التي حدثت مع الإضافات الأخرى، وهذا سيترك الإضافات الأخرى في حالة سيئة.
ارجع إلى دليل plugin.xml لإدارة edit-config
وحل التعارضات، ولأجل الأمثلة.
الأمر cordova prepare
ملخص
يحوِّل هذا الأمر البيانات الوصفية في الملف config.xml إلى ملفات بيانية (manifest files) مخصوصة بالمنصات، وينسخ الأيقونات وشاشات البداية (splashscreens)، وينسخ ملفات الإضافات الخاصة بمنصات محددة بحيث يكون المشروع جاهزًا للبناء بواسطة بيئة العمل الأصلية SDK.
الصياغة
cordova prepare [<platform> [..]]
[--browserify]
خيارات
الخيار
الوصف
<platform> [..]
اسم (أسماء) المنصة المراد تحضيرها. في حال عدم تحديده، فستُبنى جميع المنصات.
--browserify
تصريف (Compile) ملفات جافااسكريبت الخاصة بالإضافة في وقت البناء باستخدام browserify بدلا من runtime.
الأمر كوردوفا compile
ملخص
الأمر cordova compile
هو جزء من [#cordova-build-command cordova build command]. إن أنه يكتفي بتنفيذ خطوة التصريف (compilation)، لكن دون القيام بالتحضير. من الشائع استدعاء cordova build
بدلاً من هذا الأمر - لكن هذه المرحلة مفيدة للسماح بالتمديد باستخدام hooks.
الصياغة
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator|--target=<targetName>]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
لمزيد من التفاصيل، راجع وثائق [#cordova-build-command cordova build command] أدناه.
الأمر كوردوفا build
ملخص
هذا الأمر هو اختصار لـ cordova prepare
+ cordova compile
لجميع المنصات المحددة. يسمح لك ببناء التطبيق لأجل المنصة المحددة.
الصياغة
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
الخيار
الوصف
<platform> [..]
اسم(اء) المنصة المراد بناؤها. في حال عدم تحديده، ستُبنى جميع المنصات.
--debug
القيام ببناء مُصحّح (debug build) هذا يترجم عادة إلى وضع التصحيح للمنصة التي يتم بناؤها.
--release
تنفيذ بناء الإطلاق (release build). هذا يترجم عادة إلى وضع الإطلاق للمنصة التي يجري بناؤها.
--device
البناء لأجل لجهاز
--emulator
الببناء لأجل المحاكي. قد تختلف بنية المنصة لمحاكيات الجهاز Vs.
--buildConfig=<configFile>
القيمة الافتراضية: build.json في المجلد الجذري لكوردوفا.
استخدام ملف الإعداد المحدد لأجل البناء. يستخدم الملف build.json
لتحديد المعاملات لتخصيص عملية بناء التطبيق، خاصة فيما يتعلق بتوقيع (signing) الحزمة.
--browserify
تصريف (Compile) إضافة جافااسكريبت في وقت البناء باستخدام browserify بدلا من runtime.
<platformOpts>
لتوفير خيارات مخصوصة بمنصة معينة، فيجب عليك إدارجها بعد الفاصل --
. راجع مستندات دليل المنصة لمزيد من التفاصيل.
أمثلة
البناء لمنصتي android
و windows
في الوضع debug
للنشر على الجهاز:
cordova build android windows --debug --device
البناء من أجل المنصة android
في الوضع release
مع استخدام إعدادات البناء المحددة:
cordova build android --release --buildConfig=..\myBuildConfig.json
البناء للمنصة android
في وضع الإطلاق (release)، مع تمرير خيارات مخصوصة بالمنصة أندرويد لأجل عملية البناء:
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
الأمر كوردوفا run
ملخص
يقوم هذا الأمر بتحضير، وبناء ونشر التطبيق على أجهزة أو محاكيات خاصة بمنصات محددة. إذا كان هناك جهاز متصل، فسيُستخدم، ما لم يكن هناك محاكٍ مؤهل يعمل بالفعل.
الصياغة
cordova run [<platform> [...]]
[--list | --debug | --release]
[--noprepare] [--nobuild]
[--device|--emulator|--target=<targetName>]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
الخيار
الوصف
<platform> [..]
اسم(اء) المنصة المراد تشغيلها. في حال عدم تحديده، يتم تشغيل جميع المنصات.
--list
تعيد قائمة تضم الأهداف (targets) المتاحة. وتعرض أهداف النشر الخاصة بالجهاز والمحاكي ما لم يتم تحديدها
--debug
تقوم هذه الخاصية بنشر بناء مُصحّح (debug build). هذا هو السلوك الافتراضي إلا إن تم تحديد الراية --release
.
--release
نشر بناء إصداري (release build)
--noprepare
تخطي مرحلة التحضير (متوفر في الإصدار كوردوفا v6.2 وما بعده)
--nobuild
تخطي مرحلة البناء
--device
النشر إلى الجهاز
--emulator
النشر إلى المحاكي
--target
نشر إلى محاكي أو جهاز محدد. استخدم الراية --list
لعرض الخيارات المستهدفة
--buildConfig = <configFile>
القيمة الافتراضية: build.json في المجلد الجذري لكوردوفا.
استخدام ملف الإعداد المحدد في البناء. يُستخدم ملف build.json
لتحديد الوسائط لتخصيص عملية بناء التطبيق، خاصة فيما يتعلق بتوقيع (signing) الحزمة.
--browserify
تصريف (Compile) إضافة جافااسكريبت في وقت البناء باستخدام browserify بدلا من runtime.
<platformOpts>
لتوفير خيارات مخصوصة بمنصة محددة، فيجب عليك إدارجها بعد الفاصل --
. راجع مستندات دليل المنصة لمزيد من التفاصيل.
أمثلة
تشغيل عملية بناء للإطلاق (release build) لمشروع كوردوفا الحالي على محاكي المنصة android
المسمى Nexus_5_API_23_x86
. مع استخدم إعدادات البناء المحددة عند التشغيل:
cordova run android --release --buildConfig=..\myBuildConfig.json --target=Nexus_5_API_23_x86
تشغيل عملية بناء مُصححة (debug build) لمشروع كوردوفا الحالي على المنصة android
باستخدام جهازٍ أو محاكٍ (في حال عدم وجود جهاز متصل). مع تخطي مرحلة البناء:
cordova run android --nobuild
تشغيل بناء مصحح لمشروع كوردوفا الحالي على جهاز ios
:
cordova run ios --device
تعداد أسماء جميع الأجهزة المتصلة والمحاكيت المتاحة التي يمكن استخدامها لتشغيل هذا التطبيق:
cordova run ios --list
الأمر cordova emulate
ملخص
هذا الأمر هو اختصار للتعبيؤ cordova run --emulator
. ويطلق المحاكي بدلًا من الجهاز. انظر صفحة [#cordova-run-command cordova run command docs] لمزيد من التفاصيل.
الأمر cordova clean
ملخص
ينظف مخلفات (artifacts) البناء الخاصة بجميع المنصات، أو الخاصة بالمنصة المحددة عن طريق تشغيل عملية تنظيف البناء خاصة بالمنصة.
الصياغة
cordova clean [<platform> [...]]
مثال
تنظيف مخلفات البناء الخاصة بالمنصة android
:
cordova clean android
الأمر cordova requirements
ملخص
هذا الأمر يتحقق من ويطبع جميع متطلبات المنصات المحددة (أو جميع المنصات المضافة إلى المشروع إذا لم يتم تحديد أي منها). إذا تم استيفاء جميع متطلبات المنصات، فستعيد القيمة 0 عند الخروج، وإلا فستعيد قيمة غير معدومة.
يمكن أن يكون ذلك مفيدًا عند إعداد جهاز لبناء منصة معينة.
الصياغة
cordova requirements android
الأمر cordova info
ملخص
يطبع هذا الأمر معلومات مفيدة لتقديم تقارير الأخطاء والحصول على المساعدة. إذ ينشئ ملفًا info.txt في قاعدة المشروع.
الصياغة
cordova info
الأمر cordova serve
ملخص
يشغل هذا الأمر خادمًا محليًا من المجلد www/assets باستخدام المنفذ port
المحدد، أو المنفذ الافتراضي ذو القيمة 8000. يمكن الدخول إلى المشاريع من العنوان: http://HOST_IP:PORT/PLATFORM/www
الصياغة
cordova serve [port]
الأمر cordova telemetry
ملخص
هذا الأمر يُستخدم لتعطيل أو تمكين مجموعة القياس عن بُعد (telemetry collection).
الصياغة
cordova telemetry [STATE]
الخيار الوصف on تشغيل مجموعة القياس عن بعد (telemetry collection). off تعطيل مجموعة القياس عن بعد (telemetry collection).
تفاصيل
يتم عرض محث (prompt) موقوت يطلب من المستخدم الاشتراك أو الخروج في المرة الأولى التي يتم فيها تشغيل كوردوفا. ويستمر لمدة 30 ثانية، وبعد ذلك يتم إلغاء اشتراك المستخدم تلقائيًا إذا لم يقدم أي إجابة. في بيئات CI (التكامل المستمر continuous integration)، يمكن ضبط متغير البيئة CI
، والذي سيمنع المحث من الظهور. يمكن أيضًا إيقاف تشغيل مجموعة القياس عن بُعد باستخدام أمر واحد عبر الراية --no-telemetry
.
أمثلة
cordova telemetry on
cordova telemetry off
cordova build --no-telemetry
لمزيد من التفاصيل، انظر إشعار الخصوصية: https://cordova.apache.org/privacy
الأمر cordova help
ملخص
يظهر هذا الأمر ملخص الصياغة، أو يساعد لفهم أمر محدد.
الصياغة
cordova help [command]
cordova [command] -h
cordova -h [command]
الأمر cordova config
ملخص
هذا الأمر يعين، و يحصّل، ويحذف، و يعدل ويُدرج قائمة خيارات كوردوفا العامة
الصياغة
cordova config ls
cordova config edit
cordova config set <key> <value>
cordova config get <key>
cordova config delete <key>
أمثلة
cordova config set autosave false
cordova config set browserify false