JavaScript中的静态导入

Jos*_* MN 5 javascript module

如果我有一个带有公共成员的模块,我会像这样使用它

Module.Sub.member()
Run Code Online (Sandbox Code Playgroud)

然后,将成员静态导入到本地范围(如usingcpp或import staticJava中)的最佳方法(如果存在)是什么?

eme*_*esx 13

var App = (function(app) {

    /* Dependencies */
    var Sound = app.Modules.Sound,        
        Input = app.Modules.IO.Input,
        ...

    /* Actual code using dependecies */
    ...    


})(App || {});
Run Code Online (Sandbox Code Playgroud)

该解决方案有几个优点:

  • 在模块的顶部,它在第一眼看到(可维护的代码)时清晰可见,

  • 导入的常用好处:减少输入,避免命名空间冲突等(可维护的代码)

  • 长属性路径查找(a.b.c.d)只需要一次(性能),

  • 使用局部变量更快,使用全局变量 - 更快的查找(性能),

  • 缩小工具可以安全地缩小局部变量名称,但不能简单地缩小全局变量.