ดังที่คุณคงสังเกตเห็นว่า Scotty.js ไม่ได้ใช้งานอีกต่อไป การทำงานกับ Scotty.js เป็นเรื่องสนุก แต่ในระหว่างนี้ AWS ได้เปิดตัว AWS Amplify และเครื่องมือ เช่น Scotty.js ก็ไม่จำเป็นอีกต่อไป โปรดดูที่ AWS Amplify Console เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการโฮสต์เว็บไซต์แบบคงที่และแอปพลิเคชันหน้าเดียว
ปรับใช้เว็บไซต์หรือโฟลเดอร์แบบคงที่ไปยัง AWS S3 ด้วยคำสั่งเดียว
Scotty.js มีอยู่ใน NPM ติดตั้งเป็นการพึ่งพาทั่วโลกเพื่อให้สามารถใช้คำสั่ง scotty
ได้ทุกที่:
npm ติดตั้ง scottyjs --global
บีมฉันขึ้นสกอตติช
หากต้องการปรับใช้โฟลเดอร์คงที่กับ AWS S3 ให้รัน:
สกอตติช {options}
หรือ
บีม-ฉัน-อัพ {options}
--help หรือ -h - พิมพ์ความช่วยเหลือนี้
--version หรือ -v - พิมพ์เวอร์ชันปัจจุบัน
--noclipboard หรือ -n - อย่าคัดลอก URL ไปยังคลิปบอร์ด (ค่าเริ่มต้น: false)
--quiet หรือ -q - ระงับเอาต์พุตเมื่อดำเนินการคำสั่ง (ค่าเริ่มต้น: false)
--website หรือ -w - ตั้งค่าโฟลเดอร์ที่อัพโหลดเป็นเว็บไซต์คงที่ (ค่าเริ่มต้น: false)
--spa - ตั้งค่าโฟลเดอร์ที่อัพโหลดเป็นแอปหน้าเดียว (ค่าเริ่มต้น: false)
--source หรือ -s - แหล่งที่มาของโฟลเดอร์ที่จะอัปโหลด (ค่าเริ่มต้น: โฟลเดอร์ปัจจุบัน)
--bucket หรือ -b - ชื่อของบัคเก็ต S3 (ค่าเริ่มต้น: ชื่อของโฟลเดอร์ปัจจุบัน)
--prefix หรือ -p - คำนำหน้าบนบัคเก็ต S3 (ค่าเริ่มต้น: รากของบัคเก็ต)
--region หรือ -r - ภูมิภาค AWS ที่จะอัปโหลดไฟล์ ค่าเริ่มต้น: ภูมิภาคที่บันทึกไว้ (ถ้ามี) หรือรายการให้เลือกหากยังไม่ได้บันทึก
--force หรือ -f - อัปเดตที่เก็บข้อมูลโดยไม่ต้องถาม (ค่าเริ่มต้น: false ขอบเขตบังคับสามารถแทนที่ด้วย -r )
--update หรือ -u - อัปเดตที่เก็บข้อมูลที่มีอยู่ (ค่าเริ่มต้น: false)
--delete หรือ -d - ลบที่เก็บข้อมูลที่มีอยู่ (ค่าเริ่มต้น: false)
--nocdn หรือ -c - ปิดใช้งานการจัดการ Cloudfront (ค่าเริ่มต้น: false)
--urlonly หรือ -o - ส่งออกเฉพาะ URL ผลลัพธ์ CDN หรือ S3 ตามตัวเลือก (ค่าเริ่มต้น: false)
--expire หรือ -e - ลบอ็อบเจ็กต์บนบัคเก็ตที่เก่ากว่า n วัน (ค่าเริ่มต้น: ไม่มีวันหมดอายุ)
--profile หรือ -a - โปรไฟล์ AWS ที่จะใช้ (ค่าเริ่มต้น: 'ค่าเริ่มต้น')
--empty หรือ -y - ล้างที่เก็บข้อมูล (ลบออบเจ็กต์ทั้งหมดก่อนอัปโหลดไฟล์) (ค่าเริ่มต้น: false)
บทช่วยสอนแบบเต็ม: 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# ปรับใช้การสร้างสาขาของคุณกับชื่อสาขาบน bucketscotty --source_ ./build --bucket some-bucket-name - -เติมคำนำหน้าของคุณ/สาขา
เราใช้ Jasmine สำหรับการทดสอบหน่วยและบูรณาการ เว้นแต่จะมีเหตุผลที่น่าสนใจมากในการใช้สิ่งที่แตกต่างออกไป โปรดใช้ Jasmine เพื่อทำการทดสอบต่อไป การทดสอบที่มีอยู่อยู่ในโฟลเดอร์ข้อมูลจำเพาะ ต่อไปนี้เป็นทางลัดคำสั่งที่มีประโยชน์:
ทำการทดสอบทั้งหมด:
การทดสอบเวลาต่อนาที
ทำการทดสอบเพียงบางส่วนเท่านั้น:
การทดสอบ npm -- ตัวกรอง = คำนำหน้า
รับการรายงานชื่อการทดสอบตามลำดับชั้นโดยละเอียด:
การทดสอบ npm - เต็ม
MIT -- ดูใบอนุญาต