Cash ทางเลือกแทน jQuery ขนาดเล็กสำหรับเบราว์เซอร์สมัยใหม่
(github.com/fabiospampinato)แนะนำ CashCash
- CashCash เป็นทางเลือกแทน jQuery ขนาดเล็กมากสำหรับเบราว์เซอร์สมัยใหม่ (IE11+) โดยมีไวยากรณ์สไตล์ jQuery สำหรับการจัดการ DOM
- ใช้ความสามารถของเบราว์เซอร์สมัยใหม่เพื่อลดขนาดโค้ดเบสให้เล็กที่สุด และมีเมธอดแบบ chainable คล้าย jQuery ในขนาดไฟล์ที่เล็กกว่ามาก
- แม้จะไม่ได้ตั้งเป้าให้ฟีเจอร์ตรงกับ jQuery แบบ 100% แต่ก็ครอบคลุมการใช้งานทั่วไปในชีวิตประจำวันเป็นส่วนใหญ่
การเปรียบเทียบ
-
เปรียบเทียบขนาด
- Unminified: Cash 36.5 KB, Zepto 58.7 KB, jQuery Slim 227 KB
- Minified: Cash 16 KB, Zepto 26 KB, jQuery Slim 71 KB
- Minified & Gzipped: Cash 6 KB, Zepto 9.8 KB, jQuery Slim 24.4 KB
- มีผลในการลดขนาดลง 76.6% เมื่อเทียบกับ jQuery Slim
-
เปรียบเทียบฟีเจอร์
- รองรับเบราว์เซอร์รุ่นเก่า: Cash ❌, Zepto ❌, jQuery Slim ✔
- รองรับเบราว์เซอร์สมัยใหม่: Cash ✔, Zepto ✔, jQuery Slim ✔
- บำรุงรักษาอย่างต่อเนื่อง: Cash ✔, Zepto ❌, jQuery Slim ✔
- อีเวนต์แบบ namespace: Cash ✔, Zepto ❌, jQuery Slim ✔
- โค้ดเบส TypeScript: Cash ✔, Zepto ❌, jQuery Slim ❌
- TypeScript types: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
- รองรับ partial build: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
วิธีใช้งาน
- Cash ใช้งานได้ผ่าน jsDelivr ดังนี้:
<script src="https://cdn.jsdelivr.net/npm/cash-dom/…; <script> $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); }); </script> - ใช้งานผ่าน npm ได้เช่นกันในแพ็กเกจ
cash-dom:import $ from "cash-dom"; $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); });
เอกสาร
- Cash มี query selector, collection methods และเมธอดของไลบรารีบางส่วนให้ใช้งาน
- สามารถอ้างอิง API ของ jQuery ได้ และ Cash ก็รองรับฟังก์ชันส่วนใหญ่ที่เข้ากันได้กับ jQuery
- Cash สามารถขยายเพิ่มได้ด้วยเมธอดที่ผู้ใช้กำหนดเอง
การมีส่วนร่วม
- หากพบปัญหาหรือต้องการขอฟีเจอร์ ควรเปิด issue
- หากต้องการส่ง pull request ให้ทำตามขั้นตอนต่อไปนี้:
- โคลนรีโพซิทอรี:
git clone https://github.com/fabiospampinato/cash.git - ย้ายเข้าไปยังรีโพซิทอรีที่โคลนมา:
cd cash - ติดตั้ง dependencies:
npm install - คอมไพล์ Cash ใหม่อัตโนมัติเมื่อมีการเปลี่ยนแปลง:
npm run dev - เปิด test suite:
npm run test - อัปเดต README หากจำเป็น
- โคลนรีโพซิทอรี:
คำขอบคุณ
- ขอขอบคุณผู้มีส่วนร่วมทุกคนที่ช่วยพัฒนา Cash
- ขอขอบคุณ @hisk ที่ออกแบบโลโก้
ไลเซนส์
- MIT © Fabio Spampinato
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เบราว์เซอร์ช่วยให้การจัดการ DOM ง่ายขึ้น จึงทำงานได้ด้วยโค้ดเพียงสองบรรทัด
document.querySelectorและdocument.querySelectorAllข้อดีของ jQuery คือการจัดการลิสต์แบบอัตโนมัติและความสามารถในการ query ไปยัง parent
เนื่องจากเว็บไซต์กระแสหลักใช้ JavaScript จำนวนมาก การเขียนไลบรารีทั้งหมดขึ้นใหม่จึงไม่มีประสิทธิภาพ
แนะนำไลบรารีที่ทำขึ้นเองเป็นทางเลือกของ jQuery
ได้ทราบถึงความแตกต่างระหว่าง jQuery กับ Cash
เคยมีประสบการณ์ลดขนาด JS โดยใช้ Shoestring
เป้าหมายคือใช้ template string ของ TypeScript เพื่ออนุมานชนิดของ element
$('div#name')จะถูกอนุมานเป็น HTMLDivElementjQuery 4 คือทางเลือกสำหรับเบราว์เซอร์สมัยใหม่
เคยใช้ jQuery ในส่วนขยายเบราว์เซอร์ แต่เปลี่ยนไปใช้ไลบรารี JSX
ชอบไลบรารีและเฟรมเวิร์กขนาดเล็ก แต่ในความเป็นจริงกลับต้องใช้ไลบรารีขนาดใหญ่