كما لاحظت على الأرجح، فإن Scotty.js لم يعد نشطًا بعد الآن. كان العمل على Scotty.js ممتعًا، لكن AWS أصدرت AWS Amplify في هذه الأثناء، ولم تعد هناك حاجة إلى أدوات مثل Scotty.js. يرجى إلقاء نظرة على وحدة تحكم AWS Amplify. إنها أداة ممتازة لاستضافة مواقع الويب الثابتة والتطبيقات ذات الصفحة الواحدة.
انشر مواقع الويب أو المجلدات الثابتة على AWS S3 باستخدام أمر واحد
Scotty.js متاح على NPM. قم بتثبيته باعتباره تبعية عامة لتتمكن من استخدام أمر scotty
في أي مكان:
npm تثبيت scottyjs --global
أشعلني يا سكوتي
لنشر مجلد ثابت على AWS S3، قم بتشغيل:
سكوتي {خيارات}
أو
شعاع لي المتابعة {خيارات}
--help أو -h - اطبع هذه المساعدة
--version أو -v - اطبع الإصدار الحالي
--noclipboard أو -n - لا تنسخ عنوان URL إلى الحافظة (الافتراضي: خطأ)
--quiet أو -q - منع الإخراج عند تنفيذ الأوامر (الافتراضي: false)
--website أو -w - تعيين المجلد الذي تم تحميله كموقع ويب ثابت (الافتراضي: false)
--spa - تعيين المجلد الذي تم تحميله كتطبيق صفحة واحدة (الافتراضي: خطأ)
--source أو -s - مصدر المجلد الذي سيتم تحميله (الافتراضي: المجلد الحالي)
--bucket أو -b - اسم مجموعة S3 (الافتراضي: اسم المجلد الحالي)
--prefix أو -p - بادئة في مجموعة S3 (الافتراضي: جذر المجموعة)
--region أو -r - منطقة AWS حيث سيتم تحميل الملفات، افتراضيًا: المنطقة المحفوظة إذا كانت موجودة أو قائمة لاختيار واحدة إذا لم يتم حفظها بعد
--force أو -f - قم بتحديث المجموعة دون طلب (افتراضي: خطأ، يمكن تجاوز المنطقة القسرية باستخدام -r )
--update أو -u - تحديث المجموعة الموجودة (الافتراضي: خطأ)
--delete أو -d - حذف المجموعة الموجودة (الافتراضي: false)
--nocdn أو -c - تعطيل معالجة Cloudfront (الافتراضي: false)
--urlonly أو -o - قم بإخراج عنوان URL أو CDN أو S3 الناتج فقط وفقًا للخيارات (الافتراضي: false)
--expire أو -e - حذف الكائنات الموجودة في المجموعة الأقدم من n من الأيام (الافتراضي: لا انتهاء صلاحية)
--profile أو -a - ملف تعريف AWS المراد استخدامه (الافتراضي: "افتراضي")
--empty أو -y - إفراغ المجموعة (احذف جميع الكائنات قبل تحميل الملفات) (الافتراضي: خطأ)
البرنامج التعليمي الكامل: http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
لنشر تطبيقات CRA، ما عليك سوى تشغيل npm run build
في المجلد الجذر لمشروعك لإنشاء نسخة البناء.
ثم قم بنشر نسخة البناء باستخدام الأمر التالي:
سكوتي --spa --source ./build
أو، إذا كنت تريد تحديد اسم الحاوية، قم بتشغيل:
scotty --spa --source ./build --bucket some-bucket-name
باستخدام علامة --spa
، سيقوم Scotty بتعيين عمليات إعادة التوجيه المطلوبة لتطبيق الصفحة الواحدة، بحيث يمكن لتطبيقك استخدام PushState خارج الصندوق.
لنشر تطبيقات متعددة في مجموعة واحدة، يمكنك الاستفادة من خيار --prefix
. يكون هذا مفيدًا عندما يتم نشر نظام CI الخاص بك إلى نظام مرحلي مع كل فرع كاسم مسار. على سبيل المثال. يجب أن ينتقل الفرع master
إلى جذر المجموعة ( /
)، لذلك لا تقم بتعيين البادئة. يجب أن ينتقل فرع feature/fancy-stuff
إلى مسار المجموعة feature/fancy-stuff
، لذا فقط أضف هذا كبادئة. هنا يأتي مثال سطر الأوامر:
# انشر بناء فرعك الرئيسي إلى دلو rootcotty --source ./build --bucket some-bucket-name# انشر بناء فرعك إلى اسم الفرع الموجود على Bucketcotty --source_ ./build --bucket some-bucket-name - -البادئة الخاصة بك/الفرع
نستخدم الياسمين في اختبارات الوحدة والتكامل. ما لم يكن هناك سبب مقنع للغاية لاستخدام شيء مختلف، يرجى الاستمرار في استخدام الياسمين للاختبارات. الاختبارات الموجودة موجودة في مجلد المواصفات. فيما يلي بعض اختصارات الأوامر المفيدة:
تشغيل كافة الاختبارات:
اختبار npm
قم بإجراء بعض الاختبارات فقط:
اختبار npm - عامل التصفية = البادئة
احصل على تقارير مفصلة عن اسم الاختبار الهرمي:
اختبار npm - كامل
معهد ماساتشوستس للتكنولوجيا - راجع الترخيص