Помимо набора плагинов, StealJS состоит из двух основных компонентов:
steal
: расширяемый универсальный загрузчик модулей.steal-tools
: утилиты для создания, преобразования и экспорта форматов модулей. Это хранилище steal
. tools
см. на странице https://github.com/stealjs/steal-tools.
steal
steal
уникален, поскольку он может загружать модули JavaScript, определенные в форматах ES6, AMD и CommonJS (в отличие от большинства других загрузчиков модулей, которые поддерживают только один из этих форматов одновременно).
В JavaScript слово «модули» относится к небольшим единицам независимого, многократно используемого кода. Они являются основой многих шаблонов проектирования 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.