Sea.jsマニュアルとドキュメント
2253 ワード
Sea.jsマニュアルとドキュメント
ホームページ|索引
目次 CommonJS とは CommonJSモジュール とはなぜパッケージモジュール CommonJSとは?
CommonJSはJavaScript生態圏の構築を志す組織です.メールリストがあり、多くの開発者が参加しています.コミュニティ全体は、サービス側でもブラウザ側でも、JavaScriptプログラムの移植性と交換性の向上に力を入れています.
CommonJSモジュールとは?
JavaScriptにはモジュールシステムが内蔵されていません(どうせ今はありません)、CommonJSは独自のものを作りました.従来のCommonJSモジュールは以下の通りです.
math.js:
increment.js:
program.js:
モジュールをカプセル化する理由
上記のコードをよく見ると、
しかし、これはブラウザ側で問題が多い.
ブラウザ側では、JavaScriptをロードするのに最適で、最も容易な方法は
の1つは、サーバ コンポーネントを し、モジュールコードを に し、モジュールをその リストとともにブラウザ に すことです.これは ですが、 のコンポーネントをインストールし、 の アーキテクチャを する があります.
もう1つの は、モジュール を テンプレートでカプセル することです.
このテンプレートコードは、モジュールコードの にモジュールコードを に し、 リストを に できるようにする を します.
を にするためには,いくつかの な を する がある.
の のモジュールをカプセル すると、 のようになります.
math.js:
increment.js:
program.js:
FlyScriptのドキュメントからいくつかの があります.Kevin H.Smithに します.
ホームページ|索引
目次
CommonJSはJavaScript生態圏の構築を志す組織です.メールリストがあり、多くの開発者が参加しています.コミュニティ全体は、サービス側でもブラウザ側でも、JavaScriptプログラムの移植性と交換性の向上に力を入れています.
CommonJSモジュールとは?
JavaScriptにはモジュールシステムが内蔵されていません(どうせ今はありません)、CommonJSは独自のものを作りました.従来のCommonJSモジュールは以下の通りです.
math.js:
exports.add = function() {
var sum = 0, i = 0, args = arguments, l = args.length;
while (i < l) {
sum += args[i++];
}
return sum;
};
increment.js:
var add = require('math').add;
exports.increment = function(val) {
return add(val, 1);
};
program.js:
var inc = require('increment').increment;
var a = 1;
inc(a); // 2
モジュールをカプセル化する理由
上記のコードをよく見ると、
require
が同期していることに気づきます.すなわち、モジュールシステムは、requireメソッド呼び出しが返される前に、所与のモジュールが利用可能であるか否かを判定し(初期化する).しかし、これはブラウザ側で問題が多い.
ブラウザ側では、JavaScriptをロードするのに最適で、最も容易な方法は
document
に
のラベルを することです.しかし、スクリプトラベルは まれつき であり、 のCommonJSモジュールはこのような では にロードできません.の1つは、サーバ コンポーネントを し、モジュールコードを に し、モジュールをその リストとともにブラウザ に すことです.これは ですが、 のコンポーネントをインストールし、 の アーキテクチャを する があります.
もう1つの は、モジュール を テンプレートでカプセル することです.
define(function(require, exports, module) {
// The module code goes here
});
このテンプレートコードは、モジュールコードの にモジュールコードを に し、 リストを に できるようにする を します.
を にするためには,いくつかの な を する がある.
の のモジュールをカプセル すると、 のようになります.
math.js:
define(function(require, exports, module) {
exports.add = function() {
var sum = 0, i = 0, args = arguments, l = args.length;
while (i < l) {
sum += args[i++];
}
return sum;
};
});
increment.js:
define(function(require, exports, module) {
var add = require('math').add;
exports.increment = function(val) {
return add(val, 1);
};
});
program.js:
define(function(require, exports, module) {
var inc = require('increment').increment;
var a = 1;
inc(a); // 2
});
FlyScriptのドキュメントからいくつかの があります.Kevin H.Smithに します.