我有这个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
函数和核心?