الفرق بين المراجعتين ل"Cordova/cli"
سطر 184: | سطر 184: | ||
راجع الصفحة [[Cordova/hooks|الخطافات]] لمزيد من المعلومات. | راجع الصفحة [[Cordova/hooks|الخطافات]] لمزيد من المعلومات. | ||
− | ====<code>merges/</code>==== | + | ====<code>merges/</code>==== |
− | يتم تضمين أصول الويب الخاصة بالمنصة (ملفات HTML و CSS و[[JavaScript| | + | يتم تضمين أصول الويب الخاصة بالمنصة (ملفات HTML و CSS و[[JavaScript|جافاسكريبت]]) داخل المجلدات الفرعية المناسبة في هذا المجلد. وتُنشر هذه الملفات عبر الأمر <code>prepare</code> إلى المجلد الأصلي (native directory) المناسب. ستحل الملفات الموضوعة في المجلد <code>merges/</code> محل الملفات المطابقة في المجلد <code>www/</code> الخاص بالمنصة المعنية. |
+ | |||
+ | المثال التالي يفترض هيكل المشروع التالي: | ||
<syntaxhighlight lang="console">merges/ | <syntaxhighlight lang="console">merges/ | ||
|-- ios/ | |-- ios/ | ||
سطر 195: | سطر 197: | ||
-- app.js</syntaxhighlight> | -- app.js</syntaxhighlight> | ||
− | بعد بناء مشروعي أندرويد و iOS، سيحتوي تطبيق أندرويد على الملفين <code>app.js</code> و <code>android.js</code>. أما تطبيق iOS | + | بعد بناء مشروعي أندرويد و iOS، سيحتوي تطبيق أندرويد على الملفين <code>app.js</code> و <code>android.js</code>. أما تطبيق iOS فلن يحتوي إلا على الملف <code>app.js</code>، الموجود في المسار <code>merges/ios/app.js</code>، وسيتجاوز (override) الملف <code>app.js</code> الموجود في المجلد <code>www/</code>. |
− | ==== إداة الإصدارات ==== | + | ===== إداة الإصدارات ===== |
− | من المستحسن عدم إدراج المجلدين <code>platforms/</code> و <code>plugins/</code> | + | من المستحسن عدم إدراج المجلدين <code>platforms/</code> و <code>plugins/</code> في المجلدات التي يتحقق منها مدير الإصدارات، إذ أنها تحتوي عناصر وملفات بناء (build artifact) المشروع. ستُحفظ االمنصة والإضافة خاصتك في الملفين <code>config.xml</code> و <code>package.json</code> تلقائيًا. وسيتم تنزيلها عند تنفيذ الأمر <code>cordova prepare</code>. |
− | ==أمثلة== | + | ===أمثلة=== |
* | * | ||
− | إنشاء مشروع كوردوفا في المجلد <code>myapp</code> باستخدام المعرّف واسم العرض المحددين: | + | * إنشاء مشروع كوردوفا في المجلد <code>myapp</code> باستخدام المعرّف واسم العرض المحددين: |
− | <syntaxhighlight lang="console">cordova create myapp com.mycompany.myteam.myapp MyApp</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova create myapp com.mycompany.myteam.myapp MyApp</syntaxhighlight> |
− | * | + | * إنشاء مشروع كوردوفا مع رابط رمزي (symlink) إلى مجلد <code>www</code> موجود. قد يكون هذا مفيدًا إن كنت تعتمد عملية بناء مخصصة، أو كانت لديك أصول تريد استخدامها في تطبيق كوردوفا الخاص بك: |
+ | <syntaxhighlight lang="console">cordova create myapp --link-to=../www</syntaxhighlight> | ||
+ | |||
+ | == الأمر platform command == | ||
− | + | === ملخص === | |
− | |||
− | الأمر | + | يدير هذا الأمر منصات كوردوفا، إذ يسمح لك بإضافة التحديثات وإزالتها وتحديثها وإدراجها والتحقق منها. |
− | |||
− | + | تنفيذ الأوامر التي تضيف أو تزيل المنصات يؤثر على محتويات مجلد المشروع. | |
− | ==الصياغة== | + | ===الصياغة=== |
<syntaxhighlight lang="console">cordova {platform | platforms} [ | <syntaxhighlight lang="console">cordova {platform | platforms} [ | ||
add <platform-spec> [...] {--save | link=<path> } | | add <platform-spec> [...] {--save | link=<path> } | | ||
سطر 222: | سطر 225: | ||
save | | save | | ||
update ]</syntaxhighlight> | update ]</syntaxhighlight> | ||
− | أوامر فرعية | + | {| class="wikitable" |
− | الخيار | + | !أوامر فرعية |
− | + | !الخيار | |
− | + | !الشرح | |
− | + | |- | |
− | إضافة منصات محددة | + | |<code>add <platform-spec> [...]</code> |
− | --nosave | + | | |
− | عدم حفظ <code><platform-spec></code> في الملفين <code>config.xml</code> و <code>package.json</code> بعد تثبيتها باستخدام الوسم <code><engine></code> | + | |إضافة منصات محددة |
− | --link=<code><path></code> | + | |- |
+ | | | ||
+ | |<code>--nosave</code> | ||
+ | |عدم حفظ <code><platform-spec></code> في الملفين <code>config.xml</code> و <code>package.json</code> بعد تثبيتها باستخدام الوسم <code><engine></code> | ||
+ | |- | ||
+ | | | ||
+ | |<code>--link=<path></code> | ||
+ | |<nowiki>--link=</nowiki><code><path></code> | ||
عندما يكون <code><platform-spec></code> عبارة مسارًا محليًا، فسينشئ هذا الأمر رابطًا لمكتبة المنصة مباشرةً بدلاً من إنشاء نسخة منها (يختلف الدعم بحسب المنصات، كما أنه مفيد في تطوير المنصة) | عندما يكون <code><platform-spec></code> عبارة مسارًا محليًا، فسينشئ هذا الأمر رابطًا لمكتبة المنصة مباشرةً بدلاً من إنشاء نسخة منها (يختلف الدعم بحسب المنصات، كما أنه مفيد في تطوير المنصة) | ||
− | remove <code><platform></code> [...] | + | remove |
+ | |- | ||
+ | |<code>remove <platform>[...]</code> | ||
+ | | | ||
+ | |إزالة المنصات المحددة | ||
+ | |- | ||
+ | | | ||
+ | |<code>--nosave</code> | ||
+ | |عدم حذف المنصات المحددة من الملفين <code>config.xml</code> و <code>package.json</code> بعد إزالتها | ||
+ | |- | ||
+ | |<code>update platform[...]</code> | ||
+ | | | ||
+ | |تحديث المنصات المحددة | ||
+ | |- | ||
+ | | | ||
+ | |<code>--save</code> | ||
+ | |تحديث الإصدار المحدد في الملف <code>config.xml</code> | ||
+ | |- | ||
+ | |<code>list</code> | ||
+ | | | ||
+ | |سرد جميع المنصات المثبتة والمتاحة في لائحة. | ||
+ | |- | ||
+ | |<code>check</code> | ||
+ | | | ||
+ | |إدارج المنصات التي يمكن تحديثها عبر واجهة سطر الأوامر عبر الأمر <code>platform update</code>. | ||
+ | |- | ||
+ | |<code>save</code> | ||
+ | | | ||
+ | |حفظ العنصر <code><platform-spec></code> الخاص بجميع المنصات المضافة إلى الملف config.xml | ||
+ | |} | ||
− | + | === تحديد المنصات (Platform-spec) === | |
− | - | ||
− | |||
− | |||
− | + | هناك عدة طرق لتحديد منصة معينة: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | هناك | ||
<syntaxhighlight lang="console"><platform-spec> : platform[@version] | path | url[#commit-ish]</syntaxhighlight> | <syntaxhighlight lang="console"><platform-spec> : platform[@version] | path | url[#commit-ish]</syntaxhighlight> | ||
− | القيمة | + | |
− | + | {| class="wikitable" | |
− | platform | + | !القيمة |
− | اسم المنصة، على سبيل المثال، | + | !الشرح |
− | version | + | |- |
− | مُحدِّد إصدار | + | |<code>platform</code> |
− | path | + | |اسم المنصة، على سبيل المثال، <code>android</code>، و <code>ios</code>، <code>وwindows</code> إلخ. والتي يمكن إضافتها إلى المشروع. في كل نسخة جديدة من واجهة سطر أوامر كوردوفا يتم تسجيل إصدار لكل منصة. وفي حال عدم تحديد الإصدار، سيتم استخدام هذا الإصدار لإضافة المنصة. |
− | المسار إلى المجلد أو الملف tarball الذي يحتوي | + | |- |
− | url | + | |<code>version</code> |
− | عنوان لمستودع git أو لملف tarball الذي يحتوي على منصة | + | |مُحدِّد إصدار وفق الصيغة "رئيسي.فرعي.رقعة" (Major.minor.patch) باستخدام الإصدار الرمزي semver. |
− | commit-ish | + | |- |
− | المرجع إلزام/وسم/فرع (Commit/tag/branch). إذا لم يتم تحديد أي قيمة، | + | |<code>path</code> |
− | == المنصات المدعومة == | + | |المسار إلى المجلد أو الملف tarball الذي يحتوي المنصة. |
+ | |- | ||
+ | |<code>url</code> | ||
+ | |عنوان لمستودع git أو لملف tarball الذي يحتوي على منصة. | ||
+ | |- | ||
+ | |<code>commit-ish</code> | ||
+ | |المرجع "إلزام/وسم/فرع" (Commit/tag/branch). إذا لم يتم تحديد أي قيمة، فستُستخدم القيمة "master". | ||
+ | |} | ||
+ | === المنصات المدعومة === | ||
*أندرويد | *أندرويد | ||
*iOS | *iOS | ||
− | * | + | * ويندوز (8.1, Phone 8.1, UWP - Windows 10) |
* Blackberry10 | * Blackberry10 | ||
* أوبونتو | * أوبونتو | ||
− | + | * Browser | |
− | == المنصات الموقوفة == | + | === المنصات الموقوفة (Deprecated Platforms) === |
* Amazon-fireos (استخدم منصة أندرويد بدلاً منه) | * Amazon-fireos (استخدم منصة أندرويد بدلاً منه) | ||
* WP8 (استخدم ويندوز بدلاً منه) | * WP8 (استخدم ويندوز بدلاً منه) | ||
* Windows 8.0 (استخدم الإصدارات القديمة من كوردوفا) | * Windows 8.0 (استخدم الإصدارات القديمة من كوردوفا) | ||
* نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا) | * نظام تشغيل Firefox (استخدام الإصدارات القديمة من كوردوفا) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === أمثلة === | |
− | |||
* | * | ||
− | إضافة منصة باستخدام ملف tarball المحدد: | + | * إضافة إصدار مثبّت (pinned version) من المنصتين <code>android</code> و <code>ios</code>، وحفظ الإصدار الذي تم تنزيله في الملفين <code>config.xml</code> و <code>package.json</code>: |
− | <syntaxhighlight lang="console">cordova platform add ../cordova-android.tgz</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova platform add android ios</syntaxhighlight> |
− | * | + | * إضافة منصة أندرويد مع الإصدار الرمزي <code> ^ 5.0.0</code> وحفظه في الملفين <code>config.xml</code> و <code>package.json</code>: |
− | + | <syntaxhighlight lang="console">cordova platform add android@^5.0.0</syntaxhighlight> | |
− | إزالة منصة <code>android</code> من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: | + | * إضافة المنصة عن طريق استنساخ مستودع git المحدد مع إضافة الوسم <code>4.0.0</code>: |
− | <syntaxhighlight lang="console">cordova platform rm android</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova platform add https://github.com/myfork/cordova-android.git#4.0.0</syntaxhighlight> |
− | * | + | * إضافة منصة باستخدام مجلد محلي باسم <code>android</code>: |
− | + | <syntaxhighlight lang="console">cordova platform add ../android</syntaxhighlight> | |
− | إزالة منصة <code>android</code> من المشروع دون إزالتها من الملفين <code>config.xml</code> و <code>package.json</code>: | + | * إضافة منصة باستخدام ملف tarball المحدد: |
− | <syntaxhighlight lang="console">cordova platform rm android --nosave</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova platform add ../cordova-android.tgz</syntaxhighlight> |
− | * | + | * إزالة منصة <code>android</code> من المشروع ومن الملفين <code>config.xml</code> و <code>package.json</code>: |
− | + | <syntaxhighlight lang="console">cordova platform rm android</syntaxhighlight> | |
− | سرد قائمة من المنصات المتاحة والمثبتة مع أرقام إصداراتها. يفيد هذا في العثور على أرقام الإصدارات عند الإبلاغ عن المشاكل: | + | * إزالة منصة <code>android</code> من المشروع دون إزالتها من الملفين <code>config.xml</code> و <code>package.json</code>: |
− | <syntaxhighlight lang="console">cordova platform ls</syntaxhighlight> | + | <syntaxhighlight lang="console">cordova platform rm android --nosave</syntaxhighlight> |
− | * | + | * سرد قائمة من المنصات المتاحة والمثبتة مع أرقام إصداراتها. يفيد هذا في العثور على أرقام الإصدارات عند الإبلاغ عن المشاكل: |
+ | <syntaxhighlight lang="console">cordova platform ls</syntaxhighlight> | ||
+ | * حفظ إصدارات جميع المنصات المضافة حاليا إلى المشروع في الملفين <code>config.xml</code> و <code>package.json</code> | ||
+ | <syntaxhighlight lang="console">cordova platform save</syntaxhighlight> | ||
− | + | == الأمر cordova plugin == | |
− | |||
− | + | === ملخص === | |
− | == ملخص == | ||
− | + | يُمكّن هذا الأمر من إدارة إضافات المشروع | |
− | ==الصياغة== | + | ===الصياغة=== |
<syntaxhighlight lang="console">cordova {plugin | plugins} [ | <syntaxhighlight lang="console">cordova {plugin | plugins} [ | ||
add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --browserify | --force} | | add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --browserify | --force} | |
مراجعة 20: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>
[...]
يضيف هذا الأمر الإضافات المحددة
--searchpath <directory>
عند البحث عن الإضافات عبر مُعرِّفها (ID)، فسيتم البحث أولا في هذا المجلد وكل من المجلدات الفرعية الخاصة به قبل البحث في السجل (registry). يمكن تحديد عدة مسارات للبحث. استخدم ":" كفاصل في أنظمة *nix
و "؛" في ويندوز.
--noregistry
لا تبحث في السجل عن الإضافات.
--link
عند التثبيت من مسار محلي، فسيتم إنشاء رابط رمزي (symbolic link) بدلاً من نسخ الملفات. يختلف مدى ارتباط الملفات حسب المنصة. هذا الأمر مفيد لتطوير الإضافات.
--nosave
عدم حفظ <plugin-spec>
كجزء من العنصر plugin
في الملف config.xml
أو package.json
.
--browserify
تصريف (Compile) إضافة جافااسكريبت في وقت البناء باستخدام 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) ملفات جافااسكريبت الخاصة بالإضافة في وقت البناء باستخدام 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