プラグインのコレクションに加えて、 StealJSは 2 つの主要コンポーネントで構成されています。
steal
: 拡張可能なユニバーサルモジュールローダー。steal-tools
: モジュール形式を構築、変換、エクスポートするためのユーティリティ。これはsteal
リポジトリです。 tools
については、https://github.com/stealjs/steal-tools を参照してください。
steal
によるモジュールのロードsteal
、ES6、AMD、および CommonJS 形式で定義された JavaScript モジュールをロードできるという点で独特です (一度にこれらの形式のいずれか 1 つだけをサポートする他のほとんどのモジュール ローダーとは異なります)。
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 プラグインを使用すると、JavaScript モジュールと同様に Less ファイルをロードできます。
// ES6
import "style.less" ;
// AMD
define ( [ "style.less" ] , function ( ) { ... } ) ;
// CommonJS
require ( "style.less" ) ;
// steal
steal ( "style.less" )
別のフォーマット用のプラグインを作成したいですか? 「プラグインの作成」を参照してください。
StealJS の詳細については、StealJS.com をご覧ください。
コントリビュートと開発の詳細については、StealJS.com のコントリビュート ガイドを参照してください。