代码之家  ›  专栏  ›  技术社区  ›  sashang

网页包模块的功能范围

  •  0
  • sashang  · 技术社区  · 6 年前

    我有一些功能在一个网页模块,但他们不能互相调用?如何导入网页包模块中的函数a,以便在同一网页包模块中的函数B中使用?

    例如:

    module.exports = {
     handlerror: function(msg) {
        alert(msg)
     }
    
    
     init_session: function(key, session_id) {
            var session = init(key,session_id)
            if (session == "fail") { handlerror("failed") }
            return session;
        }
    }
    

    在这个场景中,运行时抱怨handlerror

    1 回复  |  直到 6 年前
        1
  •  1
  •   CertainPerformance    6 年前

    首先声明函数本身,这样就可以在代码体中引用它的独立名称,并将其放入 module.exports 单独:

    function handlerror(msg) {
      alert(msg)
    }
    module.exports = {
      handlerror
      // other exports
    };
    
    // reference handlerror as needed here
    

    请注意,您可以考虑将名称更改为 handleError (或类似的东西)纠正拼写并使它更易读。