ระบบสร้างเกือบทั้งหมดเลือกที่จะใช้กลไกการเฝ้าดูเพื่อแก้ปัญหาการสร้างไฟล์โพสต์สร้างซ้ำ ๆ ซ้ำ ๆ ระหว่างการพัฒนา อย่างไรก็ตามภายใต้กลไกการเฝ้าดูเราต้องทนต่อปัญหาการแก้ไขรหัสเป็นเวลานานและต้องดื่มชาจิบหลังจากบันทึกรหัสก่อนที่จะสดชื่นและเห็นผล ที่นี่เราพยายามสำรวจว่าทำไมนาฬิกาไม่ใช่กระสุนเงินและพยายามหาทางออกที่ดีกว่าสำหรับปัญหานี้
ข้อเท็จจริงตามนาฬิกา
เมื่อไฟล์ได้รับการแก้ไขเราสามารถทราบการปรับเปลี่ยนไฟล์ที่อาจเกิดจากการปรับเปลี่ยนดังนั้นเพียงสร้างไฟล์เหล่านี้ใหม่
โดยปกติแล้วสำหรับไฟล์ A ความสัมพันธ์ที่สอดคล้องกันนั้นแม่นยำมากในการสร้างสถานการณ์เช่นไฟล์ B แต่ในสถานการณ์จริงกระบวนการก่อสร้างมักจะไม่ง่าย ตัวอย่างเช่น:
ไฟล์ A + FILE B (อ้างอิงโดยไฟล์ A) -> ไฟล์ C
ในสถานการณ์นี้เมื่อมีการแก้ไขไฟล์ B อาจเป็นเรื่องยากที่จะค้นหาว่าไฟล์ใดที่จำเป็นต้องใช้งานการก่อสร้างอีกครั้งเนื่องจากไฟล์จำนวนมากอาจอ้างถึงไฟล์ B
เว้นแต่ว่าเราจะสร้างแผนผังการพึ่งพาและอัปเดตแผนผังการพึ่งพาทุกครั้งที่มีการอัปเดตไฟล์และทริกเกอร์การสร้างไฟล์ตามแผนผังการพึ่งพาใหม่ แต่สิ่งนี้ต้องการปลั๊กอินทุกตัวเพื่อใช้กลไกนี้ด้วยตัวเองและมีแนวโน้มที่ผิดพลาดมาก ดังนั้นในความเป็นจริงกลไกการเฝ้าดูเพียงแค่เรียกคืนภารกิจทั้งหมด ดังนั้นเมื่อโครงการมีขนาดใหญ่ขึ้นกลไกการเฝ้าดูจะช้าลงและช้าลง (เนื่องจากไฟล์มากขึ้นเรื่อย ๆ จำเป็นต้องเรียกใช้กระบวนการทั้งหมดอีกครั้งแม้ว่าแคชจะลดลงโดยการลดเวลาที่จำเป็นสำหรับกระบวนการทั้งหมด)
สารละลาย
SRC พร้อมใช้งานโดยตรง
Alloyteam & @ldjking เพียงแค่ใส่ SRC โดยตรงและวางงานสร้างไว้ที่ฝั่งเบราว์เซอร์หรือไม่ได้สร้างเลย ไม่เพียง แต่สามารถปรับเปลี่ยนและรีเฟรชในเวลา แต่ยังลดการใช้เวลาในระหว่างกระบวนการพัฒนา การก่อสร้างออฟไลน์มีหน้าที่เฉพาะปัญหาการเพิ่มประสิทธิภาพประสิทธิภาพและไม่ใช่เพื่อประสิทธิภาพการพัฒนา
ตัวแทนทั่วไปรวมถึงน้อยปฏิกิริยา ฯลฯ แต่มีปัญหาบางอย่าง:
เป็นการยากที่จะใช้วิธีการก่อสร้างที่สง่างามในด้านเบราว์เซอร์และเป็นเรื่องยากที่จะให้ฟังก์ชั่นที่ทรงพลังเพื่อลดต้นทุนการพัฒนาต่อไป ส่วนใหญ่สามารถแนะนำสคริปต์ในลักษณะเดียวกันกับ <style type = "text/less"> </style>
ลำดับการดำเนินการในโหมดการพัฒนาไม่จำเป็นต้องเหมือนกับสถานการณ์จริงซึ่งอาจนำไปสู่ข้อบกพร่องที่มองไม่เห็น ตัวอย่างเช่นการใช้ HTML แบบอินไลน์นั้นเป็นแบบอะซิงโครนัส แต่ในโหมดการปล่อยจะถูกซิงโครไนซ์ทำให้เกิดข้อบกพร่องที่อธิบายไม่ได้
ประสิทธิภาพการรวบรวมเบราว์เซอร์เป็นกังวลเช่น SASS รุ่น JS และความเร็วในการรวบรวมแทบจะทนไม่ได้
มีความจำเป็นที่จะต้องรักษาระบบการก่อสร้างออนไลน์และออฟไลน์สองชุดซึ่งเพิ่มค่าใช้จ่ายในการพัฒนาเครื่องมือ
การก่อสร้างเซิร์ฟเวอร์ท้องถิ่นแบบไดนามิก
ข้อเท็จจริงหนึ่งคือ: ด้วยการสนับสนุนข้อกำหนดที่สมเหตุสมผลเราสามารถกลับไปที่ไฟล์รายการที่เบราว์เซอร์ร้องขอไปยังไฟล์ที่สร้างขึ้นระหว่างไฟล์ วิธีนี้เราสามารถเรียกกระบวนการสร้างแบบไดนามิก
ด้วยการสร้างเซิร์ฟเวอร์ในเครื่องให้เซิร์ฟเวอร์จับคำขอและสร้างมันในเซิร์ฟเวอร์แบบไดนามิก ตราบใดที่เรากลับไปที่ไฟล์รายการเราสามารถโยนไฟล์รายการลงในไปป์ไลน์ที่ประกอบด้วยปลั๊กอินอึกและเอาต์พุตเป็นไฟล์ที่เบราว์เซอร์ต้องการ
วิธีนี้เราสามารถแก้ปัญหาทั้งหมดข้างต้นได้