apolloxlua require 函數

使用方式

require("文件地址")web

在apollox物理設計上,支持lua的require模塊方式,require方法能夠在web模式和tool方式使用。 本文簡單介紹一下,在web模式下的配合vfs的使用。測試

require的具體細節和lua的實現方式相似, 模塊做爲程序的最小單元存在,模塊與模塊之間的關係,應該是隔離的。 在web模式下使用vfs組織模塊查找的路徑。ui

使用require在某種狀況下會有限制,他們分別是若是模塊的語法存在錯誤,將沒法交織到模塊的代碼拋出錯誤。 若是vfs裏並無該模塊的平坦模式的代碼, 會拋出錯誤。若是vfs配置了baseURL,通常vfs在內存沒法查找到該文件將會根據baseURL的路徑進行遠程加載該模塊。lua

一個簡單示例的vfs的視圖設計

輸入圖片說明

lua_module.lua 的代碼以下

--請注意這個代碼在web console示例程序中是沒法執行的。
--這是一個lua的new模塊,module case 裏使用

local m = {}

local hellow  = function () 
	print("hellow, i am a module method");
end

m.hellow = hellow;

return m;

lua_duplicatedef.lua 的代碼以下

--請注意這個代碼在web console示例程序中是沒法執行的。
--這是一個lua的new模塊,module case 裏使用

local other = require("build/lua_module.lua")
local m = {}

local hellow  = function () 
	print("hellow, i am duplicate def");
end

m.hellow = hellow;
m.other  = other.hellow;
return m;

module include case 的代碼以下

//////////
/// 模塊測試
/////////
var module = require("build/lua_module.lua");

if(module) {
	module.hellow();
}

var module2 = require("build/lua_duplicatedef.lua");

if(module) {
	module2.hellow();
	module2.other();
}

執行結果:

輸入圖片說明

相關文章
相關標籤/搜索