91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用JavaScript怎么對模塊進行管理

發布時間:2021-03-18 15:32:55 來源:億速云 閱讀:148 作者:Leah 欄目:web開發

使用JavaScript怎么對模塊進行管理?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

實現1

(function(global){
var modules = {};
var define = function (id,factory) {
if(!modules[id]){
modules[id] = {
id : id,
factory : factory
};
}
};
var require = function (id) {
var module = modules[id];
if(!module){
return;
}
if(!module.exports){
module.exports = {};
module.factory.call(module.exports,require,module.exports,module);
}
return module.exports;
}
global.define = define;
global.require = require;
})(this);

使用示例

define('Hello',function(require,exports,module){
function sayHello() {
console.log('hello modules');
}
module.exports = {
sayHello : sayHello
}
});
var Hello = require('Hello');
Hello.sayHello();

實現2

function Module(main,factory){
var modules = {};
factory(function(id,factory){
modules[id] = {
id : id,
factory : factory,
}
});
var require = function (id) {
var module = modules[id];
if(!module){
return;
}
if(!module.exports){
module.exports = {};
module.factory.call(module.exports,require,module.exports,module);
}
return module.exports;
}
window.require = require;
return require(main);
}

使用示例

Module('main',function(define){
define('Hello',function(require,exports,module){
function sayHello () {
console.log('hello');
}
//有效的寫法
module.exports = {
sayHello : syaHello;
}
//或者
exports.sayHello = sayHello;
});
//mian,程序入口
define('main',function(require,exports,module){
var Hello = require('Hello');
Hello.sayHello();
});
});

實現3

另外一種風格的模塊管理

(function(global) {
var exports = {}; //存儲模塊暴露的接口
var modules = {}; // 
global.define = function (id,factory) {
modules[id] = factory;
}
global.require = function (id) {
if(exports[id])return exports[id];
else return (exports = modules[id]());
}
})(this);

使用示例

define('Hello',function(require,exports,module){
function sayHello() {
console.log('hello modules');
}
//暴露的接口
return {
sayHello : sayHello
};
});
var Hello = require('Hello');
Hello.sayHello();

實踐

有了簡易的模塊化管理之后,在項目中,我們就可以采取這樣的結構

-- proj

-- html
-- index.html
-- css
-- js
-- common
-- module1.js(通用模塊1)
-- module2.js(通用模塊2)
-- page
-- index.js(頁面邏輯)
-- lib
-- moduler.js 模塊管理庫

配合前端構建工具(wepack,grunt,gulp等等),就可以構建一個移動端的頁面。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长宁区| 铅山县| 彭泽县| 黄龙县| 武宣县| 方城县| 卢氏县| 万载县| 南丹县| 宜丰县| 临西县| 甘孜| 中江县| 云安县| 高淳县| 荃湾区| 齐河县| 蒲城县| 五常市| 甘孜县| 遂昌县| 夏津县| 灵川县| 灵丘县| 寻乌县| 蓬莱市| 惠东县| 五莲县| 柘城县| 绍兴县| 玛纳斯县| 广西| 志丹县| 阿拉善盟| 高碑店市| 天峻县| 铜梁县| 绥中县| 乌苏市| 安阳县| 古浪县|