Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
uupaa edited this pageAug 1, 2015 ·23 revisions

このエントリでは WebModule.js について説明します。

Load order

最初に WebModule.js を読み込み、その後に WebModule製のモジュール(例: MyExample.js)を読み込みます。

<scriptsrc="../lib/WebModule.js"></script><script>//publish to global. eg: window.WebModule.Class -> window.Class//WebModule.publish = true;</script><scriptsrc="../lib/MyExample.js"></script><script>varmyExample=newWebModule.MyExample();</script>

Publish to GLOBAL

モジュールを GLOBAL 空間以下に直接公開することもできます。

モジュールを読み込む前に、WebModule.publish = true; を設定しておくと、
通常new GLOBAL.WebModule.Module() のように記述すべきところを、
new GLOBAL.Module() と、より短く記述できるようになります。
GLOBAL は省略できるため、実際にはnew Module() と更に短く記述できます。

<scriptsrc="../lib/WebModule.js"></script><script>WebModule.publish=true;</script><scriptsrc="../lib/MyExample.js"></script><script>varmyExample=newwindow.WebModule.MyExample();// OKvarmyExample=newGLOBAL.WebModule.MyExample();// OKvarmyExample=newWebModule.MyExample();// OKvarmyExample=newwindow.MyExample();// OKvarmyExample=newGLOBAL.MyExample();// OKvarmyExample=newMyExample();// OK</script>

WebModule.js

WebModule version 0.5.25 時点の WebModule.js はこのようになっています。

GLOBAL は ブラウザ上では window と等価です。
Namespaceを参照してください。

// http://git.io/WebModule// --- global variables ------------------------------------// https://github.com/uupaa/WebModule/wiki/WebModuleIdiomvarGLOBAL=GLOBAL||(this||0).self||global;// --- environment detection -------------------------------GLOBAL["IN_NODE_OR_NW"]=!!GLOBAL.global;GLOBAL["IN_BROWSER"]=!GLOBAL["IN_NODE_OR_NW"]&&"document"inGLOBAL;GLOBAL["IN_WORKER"]=!GLOBAL["IN_NODE_OR_NW"]&&"WorkerLocation"inGLOBAL;GLOBAL["IN_NODE"]=GLOBAL["IN_NODE_OR_NW"]&&!/native/.test(setTimeout);GLOBAL["IN_NW"]=GLOBAL["IN_NODE_OR_NW"]&&/native/.test(setTimeout);// --- validate and assert functions -----------------------//{@dev https://github.com/uupaa/WebModule/wiki/ValidateGLOBAL["$type"]=function(value,types){returnGLOBAL["Valid"] ?GLOBAL["Valid"].type(value,types) :true;};GLOBAL["$keys"]=function(value,keys){returnGLOBAL["Valid"] ?GLOBAL["Valid"].keys(value,keys)  :true;};GLOBAL["$some"]=function(value,candidate,ignoreCase){returnGLOBAL["Valid"] ?GLOBAL["Valid"].some(value,candidate,ignoreCase) :true;};GLOBAL["$args"]=function(api,args){if(GLOBAL["Valid"]){GLOBAL["Valid"].args(api,args);}};GLOBAL["$valid"]=function(value,api,highlihgt){if(GLOBAL["Valid"]){GLOBAL["Valid"](value,api,highlihgt);}};//}@dev// --- WebModule ------------------------------------------GLOBAL["WebModule"]={"publish":false,// All WebModules publish to global."closure":{},"exports":function(name,closure){varaka=this[name] ?(name+"_") :name;returnthis[aka]||(function(wm){// GLOBAL.WebModulewm[aka]=closure(GLOBAL);wm["closure"][aka]=closure+"";return(!wm["publish"]||GLOBAL[aka]) ?wm[aka]                                                   :GLOBAL[aka]=wm[aka];})(this);}};
Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp