require("文件地址")web
在apollox物理設計上,支持lua的require模塊方式,require方法能夠在web模式和tool方式使用。 本文簡單介紹一下,在web模式下的配合vfs的使用。測試
require的具體細節和lua的實現方式相似, 模塊做爲程序的最小單元存在,模塊與模塊之間的關係,應該是隔離的。 在web模式下使用vfs組織模塊查找的路徑。ui
使用require在某種狀況下會有限制,他們分別是若是模塊的語法存在錯誤,將沒法交織到模塊的代碼拋出錯誤。 若是vfs裏並無該模塊的平坦模式的代碼, 會拋出錯誤。若是vfs配置了baseURL,通常vfs在內存沒法查找到該文件將會根據baseURL的路徑進行遠程加載該模塊。lua
一個簡單示例的vfs的視圖設計
--請注意這個代碼在web console示例程序中是沒法執行的。 --這是一個lua的new模塊,module case 裏使用 local m = {} local hellow = function () print("hellow, i am a module method"); end m.hellow = hellow; return m;
--請注意這個代碼在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;
////////// /// 模塊測試 ///////// var module = require("build/lua_module.lua"); if(module) { module.hellow(); } var module2 = require("build/lua_duplicatedef.lua"); if(module) { module2.hellow(); module2.other(); }