ES5 IIFE与ES6模块

时间:2020-04-29 15:35:30

标签: javascript

我正在Udemy上一些课程,以便可以更好地了解JavaScript。在我学习的课程中,我已经被介绍给ES6模块以保护数据隐私。到目前为止,我正在为此目的使用IIFE。我也喜欢IIFE可以用来为大型项目定义模块,如果可以的话,我想使用ES6块,但是我不知道如何从另一个块访问其他块。

可以说我们有一个用ES5编写的JS应用:

 var ES5DataModule = (function() {
//some code...
})();

var ES5UIModule = (function() {
//some code...
)}();

var ES5Controller = (function(data, ui) {
//some code...
)}(ES5DataModule , ES5UIModule);

如您所见,在上面的示例中,我已授予ES5Controller对其他两个模块的访问权限。但是在ES6中,我们仅使用{...}定义模块。其中的变量是特定于块的。我的问题是双重的:

  1. 我们是否仍可以返回变量,以便其他模块可以使用ES6块访问变量?

  2. 如何通过块设置授予访问其他模块的权限?我希望它就像包含一个let声明一样简单。 EG:

let ES6DataModule = {
//some code...
};

let ES6UIModule = {
//some code...
};

let ES6Controller  = {
//some code i want to have access to the other 2 modules, but have no idea how to make this happen...
};

我尝试将其作为问题在Udemy的问答论坛上发布。不幸的是,一个星期后没有人回答这个问题,所以我可以推测答案很明显,或者根本没有答案。无论哪种方式,我都会向社区冒险。

0 个答案:

没有答案