如何将模块化的javascript分成不同的文件

时间:2017-05-01 00:16:52

标签: javascript file module

我有这个javascript:

(function(sa){

  // initialize the application
  var init = function(){

    // creata new Core instance
    var core = new sa.Core();

    // create the helloWorld module
    var HelloModule = function(sandbox){

      // dom reference
      var container = null;

      // boot your module
      var init = function(){

        // create a reference to the module's html element
        container = document.getElementById(sandbox.instanceId);

        // say hello
        container.innerText = container.textContent = "Hello World!";
      };

      // shutdown your module
      var destroy = function(){

        // clean your container
        container.innerText = container.textContent = '';
      };

      // return public module API
      return {
        init: init,
        destroy: destroy
      }
    };

    // register the module
    core.register("helloWorld", HelloModule);

    // create element references
    var startButton = document.getElementById("start");
    var stopButton  = document.getElementById("stop");
    var logElement  = document.getElementById("log");

    // creat log method
    var log = function(msg){
      var li = document.createElement("li");
      li.innerText = li.textContent = msg;
      logElement.appendChild(li);
    };

    // bind start button
    startButton.onclick = function(){
      core.start("helloWorld", function(err){
        if(err) return log(err.message);
        log("started 'helloWorld' module");
      });
    };

    // bind stop button
    stopButton.onclick  = function(){
      core.stop("helloWorld", function(err){
        if(err) return log(err.message);
        log("stopped 'helloWorld' module");
      });
    };
  };

  // return public API
  window.app = {
    init: init
  };

})(window.scaleApp);

来自scaleApp的HelloWorld示例(我正在学习模块中的编码)。我想添加自己的模块,我想知道将我的代码分成不同的文件。我想在一个单独的文件中编写自己的模块,并将其加载到核心(即core.register("helloWorld", HelloModule);),然后我需要能够编写必要的函数(如startButton.onclick)在应用程序的init功能中。如何在单独的javascript文件中公开init函数和核心?

0 个答案:

没有答案