没有全局变量的 JavaScript 前端模块化

标签 javascript module requirejs closures frontend

基本上,我想要做的是让每个 .js 文件只包含一个闭包,然后从每个文件导入变量和函数。

lib.js:

(function(){

  myLibFunction(){ ... };

  ...

})(); 

main.js:

(function(){

  import("lib.js");

  console.log(myLibFunction());

})();

最佳答案

我的解决方案是一个返回您想要的所有变量的数组的函数。

function importVars (){
    var myValues = [all,values,here];
    return values;
};

或者你可以返回一个对象:

function importVars () {
    var myValues = {
        value1 : "property",
        value2 : "another property"
    };
    return myValues;
};

通过执行 var MyValues = importVars() 进行导入,然后通过写入 MyValues[which_one]MyValues.value1 来访问它们。 希望这有帮助!

关于没有全局变量的 JavaScript 前端模块化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364265/

相关文章:

javascript - 如何将 file.js 调用为 file.html

windows - 如何回复快速 javascript 测试

node.js - deserializeUser 被客户端 requirejs 应用多次调用

node.js - 将 git 依赖项添加到 Nodejs 应用程序

javascript - 如何将 createHmac 从 Node 转换为 C#?

javascript - VSCode - Chrome 调试 - 未验证的断点

javascript - AngularJS:ng-repeat不显示项目

python - 确定给定的 Python 模块是否为内置模块

python - 如何将我的 Python2.6 站点包移动到 Python2.7?

javascript - 有没有办法在 require.js 中动态设置基本 url?