นอกเหนือจากชุดปลั๊กอินแล้ว StealJS ยังประกอบด้วยองค์ประกอบหลักสองส่วน:
steal
: ตัวโหลดโมดูลสากลที่ขยายได้steal-tools
: ยูทิลิตี้สำหรับการสร้าง การแปลง และการส่งออกรูปแบบโมดูล นี่คือที่เก็บ steal
สำหรับ tools
ดู https://github.com/stealjs/steal-tools
steal
steal
มีลักษณะเฉพาะเนื่องจากสามารถโหลดโมดูล JavaScript ที่กำหนดในรูปแบบ ES6, AMD และ CommonJS ได้ (ไม่เหมือนกับตัวโหลดโมดูลอื่นๆ ส่วนใหญ่ ซึ่งรองรับรูปแบบเหล่านี้ครั้งละหนึ่งรูปแบบเท่านั้น)
ในจาวาสคริปต์ คำว่า "โมดูล" หมายถึงหน่วยเล็กๆ ของโค้ดอิสระที่สามารถนำมาใช้ซ้ำได้ สิ่งเหล่านี้เป็นรากฐานของรูปแบบการออกแบบ JavaScript มากมาย และสามารถมีลักษณะเช่นนี้ใน ES6:
export function hello ( ) {
console . log ( 'hello' ) ;
}
export function goodbye ( ) {
console . log ( 'goodbye' ) ;
}
หรือเช่นนี้ใน AMD:
define ( [ ] , function ( ) {
return {
hello : function ( ) {
console . log ( 'hello' ) ;
} ,
goodbye : function ( ) {
console . log ( 'goodbye' ) ;
}
} ;
} ) ;
หรือชอบ CommonJS นี้:
function hello ( ) {
console . log ( 'hello' ) ;
}
function goodbye ( ) {
console . log ( 'goodbye' ) ;
}
module . exports = {
hello : hello ,
goodbye : goodbye
}
รูปแบบทั้งหมดเหล่านี้รองรับ steal
ดังนั้นคุณจึงสามารถผสมและจับคู่โมดูลในโปรเจ็กต์ของคุณได้:
// ES6
import { hello , goodbye } from "greetings" ;
// AMD
define ( [ "greetings" ] , function ( greetings ) { ... } ) ;
// CommonJS
var hello = require ( 'greetings' ) . hello ;
var goodbye = require ( 'greetings' ) . goodbye ;
นอกจากนี้ ปลั๊กอินยังทำให้สามารถโหลดโมดูลประเภทใดก็ได้ที่คุณอาจคิดขึ้น เช่น Less หรือ CSS ใครๆ ก็สามารถเขียนปลั๊กอินเพื่อ steal
เพื่อขยายฟังก์ชันการโหลดโมดูลหลักได้
steal
ด้วยปลั๊กอิน องค์กร StealJS ดูแลรักษาปลั๊กอินยอดนิยมที่ขยายและปรับปรุงความสามารถในการโหลดโมดูลของ steal
(และต่อมาคือ steal-tools
) เช่น:
ตัวอย่างเช่น ปลั๊กอิน Less อนุญาตให้โหลดไฟล์ Less ได้คล้ายกับโมดูล JavaScript:
// ES6
import "style.less" ;
// AMD
define ( [ "style.less" ] , function ( ) { ... } ) ;
// CommonJS
require ( "style.less" ) ;
// steal
steal ( "style.less" )
ต้องการสร้างปลั๊กอินสำหรับรูปแบบอื่นหรือไม่? ดูการเขียนปลั๊กอิน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ StealJS โปรดไปที่ StealJS.com
สำหรับข้อมูลเกี่ยวกับการสนับสนุนและการพัฒนา โปรดดูคู่มือการสนับสนุนบน StealJS.com