javascriptモジュールは管理の本質に依存して詳しく説明します。
3450 ワード
本論文の実例は、javascriptモジュール依存管理の本質を述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
モジュールモード定義
モジュールは「javascript」の設計モードであり、機能のためにパッケージ関数を定義し、パッケージ関数の戻り値はモジュールのAPIと一致している:
上のモジュールを詳しく調べてみると、createModuleを呼び出すたびにインスタンスが生成され、無駄です。簡単に包装してください。モジュールの一例があります。
現代の多くのモジュール依存マネージャは、このようなモジュール定義を友好的なAPIにパッケージ化する。その中心となる方法は、以下の例を通して、最後まで見られます。
上の例から分かるように、このモードは関数に基づいて実現されており、その利点はここでは贅を要しないが、その欠点も非常に明らかである。関数のコンテキスト環境は実行時に決定されるので、コンパイル中にその依存関係は確認できません。実行中は自由にAPIを変更できます。これは関数に基づくモジュールモードが不安定になります。
それに比べて、ES 6のモジュールAPIはより安定しています。
興味のある友達はオンラインHTML/CSS/JavaScriptコードを使ってツールを実行できます。http://tools.jb51.net/code/HtmlJsRun上記コードの運行効果をテストします。
もっと多くのJavaScriptに関する内容に興味がある読者は、当駅のテーマを見ることができます。「javascript対象向け入門教程」、「JavaScriptエラーとデバッグテクニックのまとめ」、「JavaScriptデータ構造とアルゴリズム技術のまとめ」、「JavaScriptはアルゴリズムと技術の総括を遍歴します。」および「JavaScript数学演算の使い方のまとめ」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます。
モジュールモード定義
モジュールは「javascript」の設計モードであり、機能のためにパッケージ関数を定義し、パッケージ関数の戻り値はモジュールのAPIと一致している:
function createModule() {
function hello(name) {
console.log(name + ' !');
}
return {
hello: hello
}
}
// createModule
var foo = createModule();
foo.hello('fayin');
モジュールモード上のモジュールを詳しく調べてみると、createModuleを呼び出すたびにインスタンスが生成され、無駄です。簡単に包装してください。モジュールの一例があります。
var myModule = (function createModule() {
function hello(name) {
console.log(name + ' !');
}
return {
hello: hello
}
})()
//
myModule.hello('fayin')
モジュール依存管理現代の多くのモジュール依存マネージャは、このようなモジュール定義を友好的なAPIにパッケージ化する。その中心となる方法は、以下の例を通して、最後まで見られます。
//
var MyModules = (function() {
var modules = {};
function define(name, deps, impl) {
console.log(deps.length)
for(var i = 0, len = deps.length; i < len; i++) {
// deps[i]
// modules[deps[i]] modules deps[i]
//
deps[i] = modules[deps[i]]
}
// modules , name
// bar ,impl bar
modules[name] = impl.apply(null, deps);
console.log( modules)
}
function get(name) {
return modules[name]
}
return {
define: define,
get: get
};
})();
// bar,
MyModules.define('bar', [], function() {
function hello(who) {
return 'Let me introduce: ' + who;
}
return {
hello: hello
}
})
MyModules.define('foo', ['bar'], function(bar) {
var hungry = 'hippo';
function awesome() {
return bar.hello(hungry).toUpperCase()
}
return {
awesome: awesome
}
})
var bar = MyModules.get('bar')
console.log(bar.hello('fay'))
var foo = MyModules.get('foo')
console.log(foo.awesome())
モジュールモードの欠陥上の例から分かるように、このモードは関数に基づいて実現されており、その利点はここでは贅を要しないが、その欠点も非常に明らかである。関数のコンテキスト環境は実行時に決定されるので、コンパイル中にその依存関係は確認できません。実行中は自由にAPIを変更できます。これは関数に基づくモジュールモードが不安定になります。
それに比べて、ES 6のモジュールAPIはより安定しています。
興味のある友達はオンラインHTML/CSS/JavaScriptコードを使ってツールを実行できます。http://tools.jb51.net/code/HtmlJsRun上記コードの運行効果をテストします。
もっと多くのJavaScriptに関する内容に興味がある読者は、当駅のテーマを見ることができます。「javascript対象向け入門教程」、「JavaScriptエラーとデバッグテクニックのまとめ」、「JavaScriptデータ構造とアルゴリズム技術のまとめ」、「JavaScriptはアルゴリズムと技術の総括を遍歴します。」および「JavaScript数学演算の使い方のまとめ」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます。