การใช้งาน Web Components ของระบบการออกแบบอำพัน
พื้นที่เก็บข้อมูลนี้มีวัตถุประสงค์หลักสำหรับนักพัฒนาและผู้มีส่วนร่วมสำหรับเอกสารและสไตล์ที่เหมาะสมโปรดดูที่ https://amber.bitrock.it
คุณสามารถดูตัวอย่าง/ลองใช้ส่วนประกอบในหนังสือนิทานสด
$ yarn add @amber-ds/components
--- or ---
$ npm install @amber-ds/componentsทางเลือกคุณอาจต้องการเพิ่มโพลีฟิลล์ส่วนประกอบของเว็บเพื่อรองรับ Firefox และ Edge เวอร์ชันก่อนหน้า
$ yarn add @webcomponents/webcomponentsjs
--- or ---
$ npm install @webcomponents/webcomponentsjsคุณสามารถนำเข้าส่วนประกอบในโครงการของคุณในลักษณะที่แตกต่างกันขึ้นอยู่กับสภาพแวดล้อม:
เป็นไฟล์ JavaScript ที่มี Bundler (เช่น WebPack)
// myfile.js
// import the whole components library
import AmberComponents from '@amber-ds/components' ;
// import a single component (button for instance)
import '@amber-ds/components/button' ,เป็นไฟล์ JavaScript จาก HTML โดยไม่มี Bundler
<!-- mypage.html -->
<!-- import the whole components library -->
< script type =" module " src =" ./node_modules/@amber-ds/components/index.js " > </ script >
<!-- import a single component (button for instance) -->
< script type =" module " src =" ./node_modules/@amber-ds/components/button.js " > </ script > จากนั้นในไฟล์ .html หรือเทมเพลตที่สร้างเอาต์พุต HTML:
<!-- myfile.html -->
< amber-button priority =" primary " >
Get ready!
< amber-button > คำอธิบายสั้น ๆ เกี่ยวกับสถาปัตยกรรมการพัฒนาสแต็กและวิธีการทำงานบนรหัส:
ข้อมูลจำเพาะ ของเว็บคอมโพสิต เป็นคำศัพท์ร่มในการจัดกลุ่มองค์ประกอบที่กำหนดเอง V1 และข้อมูลจำเพาะ Shadow DOM V1 API ของเบราว์เซอร์เหล่านี้ช่วยให้คุณเขียนแท็ก HTML ที่กำหนดเองตามมาตรฐาน W3C ด้วยฟังก์ชันการทำงานของตัวเองสไตล์ที่กำหนดขอบเขตและมาร์กอัปที่ใช้งานได้กับเบราว์เซอร์และเฟรมเวิร์กส่วนหน้า
เพื่อให้ได้ความยืดหยุ่นของรหัสที่ดีขึ้นส่วนประกอบทั้งหมดจะถูกเขียนเป็น typeScript เพื่อใช้ประโยชน์จากการตรวจสอบประเภทคงที่และไวยากรณ์ของนักตกแต่ง นอกจากนี้ยังใช้ในการเปลี่ยนรหัสไปยัง ES-2015
เนื่องจากส่วนประกอบของเว็บเป็นมาตรฐานไม่ได้จัดการกลไกการเรนเดอร์และการเชื่อมโยงข้อมูลเราจึงใช้ LIT-HTML และคลาสองค์ประกอบเว็บที่เป็นเลเยอร์พื้นฐานสำหรับ comoponent ทุกตัวภายในห้องสมุดนี้
triggerEvent(element, name, ?detail) - wrapper เพื่อสร้างเหตุการณ์ที่กำหนดเองใหม่และจัดส่งด้วยวัตถุ detail เพิ่มเติม เดือดถูกเปิดใช้งานแล้วในการสร้างแผ่นหม้อไอน้ำ (แต่น้อยที่สุด) ที่ต้องการอย่างรวดเร็วสำหรับส่วนประกอบอำพันใหม่เราได้รวมยูทิลิตี้ CLI ขนาดเล็ก:
$ yarn create:component [name]
--- or ---
$ npm run create:component [name] สิ่งนี้จะสร้างโฟลเดอร์ย่อยภายในโฟลเดอร์ ./src/components style.scss พร้อมไฟล์สตาร์ทเตอร์สองไฟล์ที่จำเป็นและ index.ts
คุณจะต้องนำเข้าส่วนประกอบใหม่ภายใน ./src/components/library.ts ไฟล์เพื่อให้เป็นห่วงในกระบวนการ dev & build
คุณสามารถกำหนดรูปแบบของแต่ละส่วนประกอบโดยใช้ SASS ไฟล์ Main index.scss ภายในโฟลเดอร์ส่วนประกอบจะได้รับการประมวลผลโดยคอมไพเลอร์จากนั้นจะถูกฉีดใน Shadow Dom
หากคุณต้องการแบ่งปันสไตล์ผสมหรืออะไรก็ตามระหว่างส่วนประกอบคุณควรสร้างไฟล์ที่แยกจากกันแล้วนำเข้าตามที่ต้องการ
ในขณะนี้มีเพียงไลบรารีหลัก ( ไฟล์ธรรมดา .ts ภายในโฟลเดอร์ src/libs ) กำลังถูกทดสอบผ่าน JEST
เริ่มโครงการในโหมดการพัฒนาด้วยหนังสือนิทานโหลดสด
$ yarn startเริ่มโครงการในโหมดการพัฒนาด้วยหน้า HTML อย่างง่าย
$ yarn dev สร้างหนังสือนิทานแบบคงที่ในโฟลเดอร์ ./dist dist
$ yarn build:storybookเรียกใช้การทดสอบหน่วย
$ yarn test:unitโครงการนี้เป็นไปตามนโยบายการแตกแขนงง่าย ๆ :
master มีรหัสที่เสถียรเท่านั้นและไม่ควรอัปเดตโดยตรงdevelopment ที่เขียนรหัสวิวัฒนาการหรือการทดลองgh-pages ที่มีการปรับใช้ไฟล์เรื่องราวคงที่ อย่า รวม development โดยตรงเข้ากับ master ( เป็นผู้ดูแลระบบที่ถูกล็อค ... ) ส่ง PR เพื่อตรวจสอบเสมอ
ก่อนที่จะพยายามเผยแพร่แพ็คเกจเวอร์ชันใหม่บน NPM ให้เรียกใช้ก่อนผ่านรายการตรวจสอบนี้:
package.json ตามแนวทาง semverหากการเปิดตัวมี ส่วนประกอบใหม่ :
webpack.config.js สิ่งนี้จำเป็นสำหรับการสร้างโมดูลสแตนด์อโลน/src/components/library.ts ไฟล์นี้จะสามารถเข้าถึงได้เมื่อผู้ใช้นำเข้าไลบรารีทั้งหมด/src/elements.ts ซึ่งสามารถช่วยได้ด้วยความเข้ากันได้ของ vue.js ในบางกรณี เมื่อเวอร์ชันที่ถูกกระแทกใหม่ถูกส่งไปยังสาขา master จะทำให้การปรับใช้กับ NPM โดยอัตโนมัติ ( หลังจากการตรวจสอบอัตโนมัติทั้งหมดผ่านไป ) โดยใช้บัญชี Bitrock-admin
รหัสใน REPO นี้และโลโก้การออกแบบอำพัน Sytem จัดจำหน่ายโดยทีมวิศวกรรม Bitrock UI ซึ่งเปิดตัวภายใต้ใบอนุญาต MIT