บางครั้งเมื่อพัฒนาปลั๊กอินในตัวอย่างแบบบล็อก คุณจะต้องทำการเปลี่ยนแปลงที่สอดคล้องกันใน Blockly เอง ปลั๊กอินส่วนใหญ่ตั้งค่าให้ดึงข้อมูลแบบบล็อก (Blockly จากรีจิสทรี npm) ดังนั้นคุณจึงใช้ได้เฉพาะโค้ดที่มีการเผยแพร่เมื่อ npm เท่านั้น ซึ่งจะทำให้การแก้ไขข้อบกพร่องของ Blockly เป็นเรื่องยาก เมื่อคุณต้องการทําและทดสอบการเปลี่ยนแปลงทั้งในตัวอย่างแบบบล็อกและแบบบล็อก คุณสามารถใช้วิธีการใดก็ได้ด้านล่างเพื่อใช้การเปลี่ยนแปลงที่ยังไม่ได้เผยแพร่ร่วมกัน
วิธีที่ 1: ลิงก์ NPM
คุณกำหนดให้ npm ใช้แพ็กเกจจากเครื่องแทนการดึงข้อมูลแพ็กเกจจากรีจิสทรี npm ได้ เมื่อใช้วิธีนี้ คุณควรจะมีสิทธิ์เข้าถึงsourcemaps ที่ทำให้การแก้ไขข้อบกพร่อง blockly_registered ได้ง่ายขึ้น คุณจะใช้เมธอดนี้กับการเปลี่ยนแปลงในแกนประมวลผลที่ยังไม่ได้พุชไปยัง GitHub ได้
แยกส่วน:
$ npm run package $ cd dist $ npm link
ขั้นตอนเหล่านี้จะสร้าง Core Blockly สร้างแพ็กเกจ แล้วสร้างลิงก์สัญลักษณ์ไปยังไฟล์แพ็กเกจ
ในแยกตัวอย่างบล็อก:
$ npm link blockly
ขั้นตอนนี้จะกำหนดให้ npm ค้นหาลิงก์สัญลักษณ์ที่คุณสร้างขึ้นก่อนหน้านี้แทนที่จะดึงข้อมูลแพ็กเกจจาก npm
npm run start
เพื่อทดสอบปลั๊กอินของคุณ
เมื่อทำการเปลี่ยนแปลงในส่วนหลัก คุณจะต้องสร้างและจัดแพ็กเกจใหม่
วิธีที่ 2: ดึงข้อมูลจาก GitHub
คุณกำหนดให้ npm ดึงข้อมูลแพ็กเกจจาก GitHub แทนการดึงข้อมูลจากรีจิสทรี npm ได้ เมื่อใช้วิธีนี้ คุณควรจะมีสิทธิ์เข้าถึง sourcemaps ที่ทำให้การแก้ไขข้อบกพร่อง blockly_registered ทำได้ง่ายขึ้น คุณจะต้องใช้เวอร์ชันบล็อก ที่เผยแพร่ใน GitHub แล้ว
ตรวจสอบว่าส่วน
scripts
ในpackage.json
สำหรับปลั๊กอินของคุณมีข้อมูลต่อไปนี้"postinstall": "blockly-scripts postinstall"
สคริปต์นี้จะสร้าง Blockly โดยอัตโนมัติหลังจากติดตั้งจาก GitHub ในขั้นตอนถัดไป
แทนที่จะระบุหมายเลขเวอร์ชันสำหรับบล็อกใน
package.json
ให้ระบุที่อยู่ Git และชื่อสาขาดังนี้"blockly": "git://github.com/google/blockly.git#develop"
ซึ่งอาจเป็นลิงก์ไปยังทางแยกของคุณเองได้หากมีการเปลี่ยนแปลงที่ไม่ได้ผสานรวม
เหมือนปกติ
npm install
npm run start
เพื่อทดสอบปลั๊กอินของคุณ
เมื่อทำการเปลี่ยนแปลงใน Core Blockly คุณจะต้องพุชการเปลี่ยนแปลงเหล่านั้นไปยัง GitHub ตาม Branch ที่ระบุไว้ นอกจากนี้ เมื่อต้องการให้ npm ดึงข้อมูลเวอร์ชันใหม่จาก GitHub คุณจะต้อง npm uninstall blockly
(หรือนำออกจาก node_modules
) แล้วติดตั้งใหม่อีกครั้งตามที่อธิบายไว้ข้างต้น
วิธีที่ 3: Advanced Playground
คุณสามารถใช้ Play Console ขั้นสูง (ในแกนหลัก Blockly) เพื่อแก้ไขข้อบกพร่องของปลั๊กอินได้
เมื่อใช้วิธีนี้ คุณจะใช้ blockly_uncompressed
ซึ่งอาจแก้ไขข้อบกพร่องได้ง่ายขึ้น เนื่องจากไม่ต้องใช้การแมปแหล่งที่มา ใช้วิธีนี้หากคุณมีปัญหาในการแก้ไขข้อบกพร่องด้วย Sourcemaps หรือต้องการทดสอบปลั๊กอินโดยใช้ฟีเจอร์ของ Playground ขั้นสูง
ในไดเรกทอรีปลั๊กอินในบล็อกตัวอย่าง:
$ npm run build $ cd dist $ pwd
วิธีนี้จะสร้างและจัดแพ็กเกจปลั๊กอินของคุณ จากนั้นจะพิมพ์เส้นทางไดเรกทอรีแบบเต็ม ของไดเรกทอรีแยกสำหรับปลั๊กอินของคุณ คัดลอกเส้นทางนี้ เราจะต้องใช้ในขั้นตอนถัดไป
ใน Blockly ใน
advanced_playground.html
:<script src="$PATH_TO_DIST_DIR/index.js">
จากนั้นคุณต้องตั้งค่าต่างๆ ที่จำเป็นสำหรับปลั๊กอินด้วย เช่น คุณอาจต้องระบุค่าบางอย่างในออบเจ็กต์ตัวเลือก ตั้งค่านี้ในการตั้งค่าพื้นที่ทำงานที่มีอยู่
เปิดสนามเด็กเล่นขั้นสูงในเบราว์เซอร์เพื่อทดสอบปลั๊กอินของคุณ
เมื่อทำการเปลี่ยนแปลงเป็นช่วงๆ ไป คุณเพียงแค่รีเฟรชเท่านั้น เมื่อทำการเปลี่ยนแปลงกับปลั๊กอิน คุณจะต้องเรียกใช้ npm run build
อีกครั้ง