الفرق بين المراجعتين ل"Cordova/cli"
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:واجهة سطر الأوامر في كوردوفا}}</noinclude> تصنيف: Cordova تصنيف: CLI الصياغة <syntaxhighlight...') |
|||
سطر 2: | سطر 2: | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: CLI]] | [[تصنيف: CLI]] | ||
+ | == قرطبة سطر الأوامر واجهة (CLI) مرجع == | ||
+ | |||
الصياغة | الصياغة | ||
<syntaxhighlight lang="javascript">cordova <command> [options] -- [platformOpts]</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova <command> [options] -- [platformOpts]</syntaxhighlight> | ||
سطر 66: | سطر 68: | ||
أمثلة: | أمثلة: | ||
+ | * | ||
يوضح هذا المثال كيف يمكن استخدام واجهة سطر أوامر كوردوفا لإنشاء مشروع مع الإضافة <code>camera</code> وتشغيله على منصة <code>android</code>. يمكنك تحديد خيارات مخصوصة بمنصة معينة مثل <code>--keystore</code>: | يوضح هذا المثال كيف يمكن استخدام واجهة سطر أوامر كوردوفا لإنشاء مشروع مع الإضافة <code>camera</code> وتشغيله على منصة <code>android</code>. يمكنك تحديد خيارات مخصوصة بمنصة معينة مثل <code>--keystore</code>: | ||
سطر 165: | سطر 168: | ||
==أمثلة== | ==أمثلة== | ||
+ | * | ||
إنشاء مشروع كوردوفا في المجلد <code>myapp</code> باستخدام المعرّف واسم العرض المحددين: | إنشاء مشروع كوردوفا في المجلد <code>myapp</code> باستخدام المعرّف واسم العرض المحددين: | ||
<syntaxhighlight lang="javascript">cordova create myapp com.mycompany.myteam.myapp MyApp</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova create myapp com.mycompany.myteam.myapp MyApp</syntaxhighlight> | ||
+ | * | ||
إنشاء مشروع كوردوفا مع رابط رمزي (symlink) إلى مجلد <code>www</code> موجود. قد يكون هذا مفيدًا إن كنت تعتمد عملية بناء مخصصة، أو كانت لديك أصول تريد استخدامها في تطبيق كوردوفا الخاص بك: | إنشاء مشروع كوردوفا مع رابط رمزي (symlink) إلى مجلد <code>www</code> موجود. قد يكون هذا مفيدًا إن كنت تعتمد عملية بناء مخصصة، أو كانت لديك أصول تريد استخدامها في تطبيق كوردوفا الخاص بك: | ||
سطر 242: | سطر 247: | ||
* نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا) | * نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا) | ||
أمثلة: | أمثلة: | ||
+ | * | ||
إضافة إصدار مثبت (pinned version) من المنصتين <code>android</code> و <code>ios</code> وحفظ الإصدار الذي تم تنزيله في الملفين <code>config.xml</code> و <code>package.json</code>: | إضافة إصدار مثبت (pinned version) من المنصتين <code>android</code> و <code>ios</code> وحفظ الإصدار الذي تم تنزيله في الملفين <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova platform add android ios</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform add android ios</syntaxhighlight> | ||
+ | * | ||
إضافة منصة <code>android</code> مع الإصدار [http://semver.org/ semver] ^ 5.0.0 وحفظه في الملفين <code>config.xml</code> و <code>package.json</code>: | إضافة منصة <code>android</code> مع الإصدار [http://semver.org/ semver] ^ 5.0.0 وحفظه في الملفين <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova platform add android@^5.0.0</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform add android@^5.0.0</syntaxhighlight> | ||
+ | * | ||
إضافة المنصة عن طريق استنساخ مستودع git المحدد مع إضافة الوسم <code>4.0.0</code>: | إضافة المنصة عن طريق استنساخ مستودع git المحدد مع إضافة الوسم <code>4.0.0</code>: | ||
<syntaxhighlight lang="javascript">cordova platform add https://github.com/myfork/cordova-android.git#4.0.0</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform add https://github.com/myfork/cordova-android.git#4.0.0</syntaxhighlight> | ||
+ | * | ||
إضافة منصة باستخدام مجلد محلي باسم <code>android</code>: | إضافة منصة باستخدام مجلد محلي باسم <code>android</code>: | ||
<syntaxhighlight lang="javascript">cordova platform add ../android</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform add ../android</syntaxhighlight> | ||
+ | * | ||
إضافة منصة باستخدام ملف tarball المحدد: | إضافة منصة باستخدام ملف tarball المحدد: | ||
<syntaxhighlight lang="javascript">cordova platform add ../cordova-android.tgz</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform add ../cordova-android.tgz</syntaxhighlight> | ||
+ | * | ||
إزالة منصة <code>android</code> من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | إزالة منصة <code>android</code> من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova platform rm android</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform rm android</syntaxhighlight> | ||
+ | * | ||
إزالة منصة <code>android</code> من المشروع دون إزالتها من الملفين <code>config.xml</code> و <code>package.json</code>: | إزالة منصة <code>android</code> من المشروع دون إزالتها من الملفين <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova platform rm android --nosave</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform rm android --nosave</syntaxhighlight> | ||
+ | * | ||
سرد قائمة من المنصات المتاحة والمثبتة مع أرقام إصداراتها. يفيد هذا في العثور على أرقام الإصدارات عند الإبلاغ عن المشاكل: | سرد قائمة من المنصات المتاحة والمثبتة مع أرقام إصداراتها. يفيد هذا في العثور على أرقام الإصدارات عند الإبلاغ عن المشاكل: | ||
<syntaxhighlight lang="javascript">cordova platform ls</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova platform ls</syntaxhighlight> | ||
+ | * | ||
حفظ إصدارات من جميع المنصات المضافة حاليا إلى المشروع في الملفين <code>config.xml</code> و <code>package.json</code> | حفظ إصدارات من جميع المنصات المضافة حاليا إلى المشروع في الملفين <code>config.xml</code> و <code>package.json</code> | ||
سطر 339: | سطر 353: | ||
* أحدث إصدار ملحق ينشر إلى npm | * أحدث إصدار ملحق ينشر إلى npm | ||
==أمثلة== | ==أمثلة== | ||
+ | * | ||
قم بإضافة <code>cordova-plugin-camera</code> و <code>cordova-plugin-file</code> إلى المشروع، واحفظه في الملفين <code>config.xml</code> و <code>package.json</code>. واستخدم المجلد <code>../plugins</code> للبحث عن الإضافات. | قم بإضافة <code>cordova-plugin-camera</code> و <code>cordova-plugin-file</code> إلى المشروع، واحفظه في الملفين <code>config.xml</code> و <code>package.json</code>. واستخدم المجلد <code>../plugins</code> للبحث عن الإضافات. | ||
<syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins</syntaxhighlight> | ||
+ | * | ||
إضافة <code>cordova-plugin-camera</code> مع [http://semver.org/ semver] الإصدار ^ 2.0.0 وحفظه في <code>config.xml</code> و <code>package.json</code>: | إضافة <code>cordova-plugin-camera</code> مع [http://semver.org/ semver] الإصدار ^ 2.0.0 وحفظه في <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-camera@^2.0.0</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-camera@^2.0.0</syntaxhighlight> | ||
+ | * | ||
إضافة الإضافة من المجلد المحلي المحدد: | إضافة الإضافة من المجلد المحلي المحدد: | ||
<syntaxhighlight lang="javascript">cordova plugin add ../cordova-plugin-camera</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin add ../cordova-plugin-camera</syntaxhighlight> | ||
+ | * | ||
إضافة الإضافة من ملف tarball المحدد: | إضافة الإضافة من ملف tarball المحدد: | ||
<syntaxhighlight lang="javascript">cordova plugin add ../cordova-plugin-camera.tgz</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin add ../cordova-plugin-camera.tgz</syntaxhighlight> | ||
+ | * | ||
إزالة الإضافة من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | إزالة الإضافة من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova plugin rm camera</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin rm camera</syntaxhighlight> | ||
+ | * | ||
إزالة الإضافة من المشروع، دون إزالتها من الملفين <code>config.xml</code> أو <code>package.json</code>: | إزالة الإضافة من المشروع، دون إزالتها من الملفين <code>config.xml</code> أو <code>package.json</code>: | ||
<syntaxhighlight lang="javascript">cordova plugin rm camera --nosave</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova plugin rm camera --nosave</syntaxhighlight> | ||
+ | * | ||
إدارج قائمة من جميع الإضافات المثبتة في المشروع: | إدارج قائمة من جميع الإضافات المثبتة في المشروع: | ||
سطر 428: | سطر 449: | ||
لتوفير خيارات مخصوصة بمنصة معينة، فيجب عليك إدارجها بعد الفاصل <code>--</code>. راجع مستندات دليل المنصة لمزيد من التفاصيل. | لتوفير خيارات مخصوصة بمنصة معينة، فيجب عليك إدارجها بعد الفاصل <code>--</code>. راجع مستندات دليل المنصة لمزيد من التفاصيل. | ||
==أمثلة== | ==أمثلة== | ||
+ | * | ||
البناء لمنصتي <code>android</code> و <code>windows</code> في الوضع <code>debug</code> للنشر على الجهاز: | البناء لمنصتي <code>android</code> و <code>windows</code> في الوضع <code>debug</code> للنشر على الجهاز: | ||
<syntaxhighlight lang="javascript">cordova build android windows --debug --device</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova build android windows --debug --device</syntaxhighlight> | ||
+ | * | ||
البناء من أجل المنصة <code>android</code> في الوضع <code>release</code> مع استخدام إعدادات البناء المحددة: | البناء من أجل المنصة <code>android</code> في الوضع <code>release</code> مع استخدام إعدادات البناء المحددة: | ||
<syntaxhighlight lang="javascript">cordova build android --release --buildConfig=..\myBuildConfig.json</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova build android --release --buildConfig=..\myBuildConfig.json</syntaxhighlight> | ||
+ | * | ||
البناء للمنصة <code>android</code> في وضع الإطلاق (release)، مع تمرير خيارات مخصوصة بالمنصة أندرويد لأجل عملية البناء: | البناء للمنصة <code>android</code> في وضع الإطلاق (release)، مع تمرير خيارات مخصوصة بالمنصة أندرويد لأجل عملية البناء: | ||
سطر 478: | سطر 502: | ||
لتوفير خيارات مخصوصة بمنصة محددة، فيجب عليك إدارجها بعد الفاصل <code>--</code>. راجع مستندات دليل المنصة لمزيد من التفاصيل. | لتوفير خيارات مخصوصة بمنصة محددة، فيجب عليك إدارجها بعد الفاصل <code>--</code>. راجع مستندات دليل المنصة لمزيد من التفاصيل. | ||
==أمثلة== | ==أمثلة== | ||
+ | * | ||
تشغيل عملية بناء للإطلاق (release build) لمشروع كوردوفا الحالي على محاكي المنصة <code>android</code> المسمى <code>Nexus_5_API_23_x86</code>. مع استخدم إعدادات البناء المحددة عند التشغيل: | تشغيل عملية بناء للإطلاق (release build) لمشروع كوردوفا الحالي على محاكي المنصة <code>android</code> المسمى <code>Nexus_5_API_23_x86</code>. مع استخدم إعدادات البناء المحددة عند التشغيل: | ||
<syntaxhighlight lang="javascript">cordova run android --release --buildConfig=..\myBuildConfig.json --target=Nexus_5_API_23_x86</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova run android --release --buildConfig=..\myBuildConfig.json --target=Nexus_5_API_23_x86</syntaxhighlight> | ||
+ | * | ||
تشغيل عملية بناء مُصححة (debug build) لمشروع كوردوفا الحالي على المنصة <code>android</code> باستخدام جهازٍ أو محاكٍ (في حال عدم وجود جهاز متصل). مع تخطي مرحلة البناء: | تشغيل عملية بناء مُصححة (debug build) لمشروع كوردوفا الحالي على المنصة <code>android</code> باستخدام جهازٍ أو محاكٍ (في حال عدم وجود جهاز متصل). مع تخطي مرحلة البناء: | ||
<syntaxhighlight lang="javascript">cordova run android --nobuild</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova run android --nobuild</syntaxhighlight> | ||
+ | * | ||
تشغيل بناء مصحح لمشروع كوردوفا الحالي على جهاز <code>ios</code>: | تشغيل بناء مصحح لمشروع كوردوفا الحالي على جهاز <code>ios</code>: | ||
<syntaxhighlight lang="javascript">cordova run ios --device</syntaxhighlight> | <syntaxhighlight lang="javascript">cordova run ios --device</syntaxhighlight> | ||
+ | * | ||
تعداد أسماء جميع الأجهزة المتصلة والمحاكيت المتاحة التي يمكن استخدامها لتشغيل هذا التطبيق: | تعداد أسماء جميع الأجهزة المتصلة والمحاكيت المتاحة التي يمكن استخدامها لتشغيل هذا التطبيق: |
مراجعة 12:25، 7 ديسمبر 2018
قرطبة سطر الأوامر واجهة (CLI) مرجع
الصياغة
cordova <command> [options] -- [platformOpts]
لائحة الأوامر العامة
هذه الأوامر متوفرة في جميع الأوقات. الأمر الوصف create انشاء مشروع help الحصول على مساعدة بخصوص الأمر telemetry تفعيل مجموعة القياس (telemetry collection) أو إيقافها config تعيين، و تحصيل، و حذف، و تعديل وسرد قائمة خيارات كوردوفا العامة
لائحة أوامر المشروع
هذه الأوامر مدعومة عندما يكون مجلد العمل الحالي عبارة عن مشروع صالح لكوردوفا. الأمر الوصف info يولد هذا الأمر معلومات عن المشروع requirements يتحقق من ويطبع جميع متطلبات التثبيت للمنصات المحددة platform إدارة منصات المشاريع plugin إدارة إضافات المشروع إعداد نسخ الملفات في المنصة (أو المنصات) لأجل البناء 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 أو - الإصدار
طباعة إصدار cordova-cli
المثبت.
--no-update-notifier
سوف يعطل هذا الخيار التحقق من التحديثات. يمكنك بدلاً من ذلك، تعيين "optOut": true
في الملف ~/.config/configstore/update-notifier-cordova.json
أو تعيين متغير البيئة NO_UPDATE_NOTIFIER
عند أي قيمة (انظر التفاصيل في update-notifier docs).
--nohooks
منع تنفيذ الخطافات (مع استخدام التعبير النمطي RegExp الخاص بالخُطاف كمعامل)
--no-telemetry
تعطيل مجموعة القياس عن بُعد (telemetry collection) الخاصة بلأمر الحالي.
خيارات مخصوصة بالمنصات
بعض الأوامر لها خيارات (platformOpts
) مخصوصة بمنصة معينة. يمكن استخدامها في واجهة سطر الأوامر في كوردوفا مع الفاصل "--"، والذي يوقف تحليل (parsing) الأمر في الوحدة cordova-lib ويُمرر باقي الخيارات للمنصات لأجل تحليلهاا.
أمثلة:
يوضح هذا المثال كيف يمكن استخدام واجهة سطر أوامر كوردوفا لإنشاء مشروع مع الإضافة camera
وتشغيله على منصة android
. يمكنك تحديد خيارات مخصوصة بمنصة معينة مثل --keystore
:
# Create a cordova project
cordova create myApp com.myCompany.myApp myApp
cd myApp
# Add camera plugin to the project and remember that in config.xml & package.json.
cordova plugin add cordova-plugin-camera
# Add camera plugin to the project and remember that in config.xml and package.json.
cordova plugin add cordova-plugin-camera
# Add android platform to the project and remember that in config.xml & package.json.
cordova platform add android
# Check to see if your system is configured for building android platform.
cordova requirements android
# Build the android and emit verbose logs.
cordova build android --verbose
# Run the project on the android platform.
cordova run android
# Build for android platform in release mode with specified signing parameters.
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
الأمر كوردوفا create
ملخص
ينشئ هذا الأمر هيكل المجلد الخاص بمشروع كوردوفا في المسار المحدد.
الصياغة
cordova create path [id [name [config]]] [options]
القيمة
الوصف
path
نحدد هذه الخاصية مجلدًا، والذي يجب ألا يكون موجودًا سلفًا. سوف تنشئ إنشاء هذا المجلد. لمزيد من التفاصيل حول بنية المجلد، انظر أدناه.
id
القيمة الافتراضية: io.cordova.hellocordova
مُعرِّف لنمط النطاق العكسي (Reverse domain-style) الذي يشير إلى الخاصيةid
في العنصرwidget
في المفconfig.xml
. يمكن تغيير هذه القيمة، ولكن قد تولّد بعض الشيفرات البرمجية باستخدام هذه القيمة، مثل أسماء حزم جافا. يوصى بتحديد قيمة مناسبة.
name
القيمة الافتراضية: HelloCordova
عنوان العرض الخاص بالتطبيق، والذي يرتبط بالعنصر name
في الملف config.xml
. يمكن تغيير هذا ولكن قد تُولد بعض الشيفرات البرمجية باستخدام هذه القيمة، مثل أسماء أصناف جافا. القيمة الافتراضية هي HelloCordova
، ولكن يوصى بتحديد قيمة مناسبة.
config
سلسلة نصية وفق صيغة JSON، والتي ستُدرج الأزواج مفتاح/قيمة الخاصة بها في <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 reference documentation.
www/
يحتوي على عناصر الويب (web artifacts) الخاصة بالمشروع، مثل ملفات html. و cs. و js. كمطور لتطبيقات كوردوفا، فإن معظم الشيفرات البرمجية والأصول الخاصة بك ستوضع هنا. سيتم نسخها عبر الأمر cordova prepare
إلى المجلد www الخاص بكل منصة على حدة. يعاد إنتاج المجلد المصدري www داخل المجلد الفرعي لكل منصة، على سبيل المثال في platforms/ios/www
أو platforms/android/assets/www
. نظرًا لكون واجهة سطر الأوامر تنسخ الملفات باستمرار من المجلد المصدري www، فينبغي ألا تعدل إلا هذه الملفات، وليس الملفات الموجودة في المجلدات الفرعية للمنصات. إذا كنت تستخدم برنامجًا لإدارة الإصدارات، فعليط إضافة المجلد المصدري www، جنبًا إلى جنب مع المجلد المُدمج (merges folder)، في نظام إدارة الإصدارات.
platforms/
يحتوي هذ المجلد على كافة الشيفرات المصدرية والبرامج النصية المبنية build scripts) للمنصات التي تضيفها إلى مشروعك. WARNING: عند استخدام واجهة سطر الأوامر لبناء تطبيقك، فعليط ألا تعدّل أي ملفات في المجلد / platform /، إلا إن كنت تعرف ما تفعله، أو إذا كان التوثيق لا يمنع ذلك. يُكتب فوق الملفات الموجودة في هذا المجلد بشكل روتيني عند إعداد التطبيقات لأجل بنائها، أو عند إعادة تثبيت الإضافات.
plugins/
الإضافات التي أُضيفت ستُسختلص أو تُتسخ في هذا المجلد.
hooks/
قد يحتوي هذا المجلد على نصوص برمجية مستخدمة لتخصيص أوامر واجهة سطر أوامر كوردوفا. سيتم تنفيذ كل البرامج النصية التي تضيفها إلى هذه المجلدات قبل وبعد الأوامر المقابلة لاسم المجلد. وهو مفيد لدمج أنظمة البناء خاصتك أو التكامل مع أنظمة إدارة الإصدارات.
راجع الصفحة Hooks Guide لمزيد من المعلومات.
merges/
يتم تضمين أصول الويب الخاصة بالمنصة (ملفات HTML و CSS و[[JavaScript|جافااسكريبت]]) داخل المجلدات الفرعية المناسبة في هذا المجلد. يتم نشر هذه الملفات خلال الأمر 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
، وسيتجاوز الملف app.js
الموجود في المجلد www/
.
إداة الإصدارات
من المستحسن عدم إدراج المجلدين platforms/
و plugins/
في المجلدات التي يتحقق منها مدير الإصدارات، إذ أنها تحتوي عناصر وملفات بناء المشروع. ستُحفظ االمنصة والإضافة خاصتك في الملفين 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>
عندما يكون <platform-spec>
عبارة مسارًا محليًا، فسينشئ هذا الأمر رابطًا لمكتبة المنصة مباشرةً بدلاً من إنشاء نسخة منها (يختلف الدعم بحسب المنصات، كما أنه مفيد في تطوير المنصة)
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
- Windows (8.1، Phone 8.1، UWP - Windows 10)
- Blackberry10
- أوبونتو
Browser
المنصات الموقوفة
- Amazon-fireos (استخدم منصة أندرويد بدلاً منه)
- WP8 (استخدم ويندوز بدلاً منه)
- Windows 8.0 (استخدم الإصدارات القديمة من كوردوفا)
- نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا)
أمثلة:
إضافة إصدار مثبت (pinned version) من المنصتين android
و ios
وحفظ الإصدار الذي تم تنزيله في الملفين config.xml
و package.json
:
cordova platform add android ios
إضافة منصة android
مع الإصدار semver ^ 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
الأمر 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>
[...]
يضيف هذا الأمر الإضافات المحددة
--searchpath <directory>
عند البحث عن الإضافات عبر مُعرِّفها (ID)، فسيتم البحث أولا في هذا المجلد وكل من المجلدات الفرعية الخاصة به قبل البحث في السجل (registry). يمكن تحديد عدة مسارات للبحث. استخدم ":" كفاصل في أنظمة *nix
و "؛" في ويندوز.
--noregistry
لا تبحث في السجل عن الإضافات.
--link
عند التثبيت من مسار محلي، فسيتم إنشاء رابط رمزي (symbolic link) بدلاً من نسخ الملفات. يختلف مدى ارتباط الملفات حسب المنصة. هذا الأمر مفيد لتطوير الإضافات.
--nosave
عدم حفظ <plugin-spec>
كجزء من العنصر plugin
في الملف config.xml
أو package.json
.
--browserify
تصريف (Compile) إضافة [[JavaScript|جافااسكريبت]] في وقت البناء باستخدام browserify بدلا من runtime.
--force
تم تقديمه في الإصدار 6.1. يفرض نسخ الملفات المصدرية من الإضافة حتى لو كان الملف نفسه موجودًا سلفًا في المجلد الهدف.
remove `
`[...]
--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 نطاق الإضافة المنشورة على هيئة scoped npm package plugin معرف الإضافة (معرف الإضافة في سجل 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، والذي يمكن للمشروع الحالي دعمه (ينطبق فقط على الإضافات التي تسرد ارتباطات كوردوفا خاصتها Cordova dependencies في الملف
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 guide لإدارة edit-config
وحل التعارضات، ولأجل الأمثلة.
الأمر كوردوفا prepare
ملخص
يحوِّل هذا الأمر البيانات الوصفية في الملف config.xml إلى ملفات بيانية (manifest files) مخصوصة بالمنصات، وينسخ الأيقونات وشاشات البداية (splashscreens)، وينسخ ملفات الإضافات الخاصة بمنصات محددة بحيث يكون المشروع جاهزًا للبناء بواسطة بيئة العمل الأصلية SDK.
الصياغة
cordova prepare [<platform> [..]]
[--browserify]
خيارات
الخيار
الوصف
<platform> [..]
اسم (أسماء) المنصة المراد تحضيرها. في حال عدم تحديده، فستُبنى جميع المنصات.
--browserify
تصريف (Compile) ملفات [[JavaScript|جافااسكريبت]] الخاصة بالإضافة في وقت البناء باستخدام 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) إضافة [[JavaScript|جافااسكريبت]] في وقت البناء باستخدام 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) إضافة [[JavaScript|جافااسكريبت]] في وقت البناء باستخدام 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