Lua5.1.js

Lua5.1.js是一个由emscripten编译的lua引擎,拥有lua底层api,一般用于在前端构建一个沙箱环境,在允许用户使用逻辑代码的前提下,保证网站的安全。
本站主站sinriv即采用该项目开发
项目地址:https://github.com/logiceditor-com/lua5.1.js

示例

var C = Lua5_1.C;

var L = C.lua_open();
C.luaL_openlibs(L);
  
C.lua_pushcfunction(
  L,
  Lua5_1.Runtime.addFunction(
      function(L)
      {
        var str = C.luaL_checkstring(L, 1);
        alert("{Lua} " + str);
        return 0;
      }
    )
);
C.lua_setglobal(L, "ALERT");

if (C.luaL_dostring(L, "ALERT('Hello, world')") != 0)
{
  var err = C.lua_tostring(L, -1);
  C.lua_close(L);
  L = 0;
  throw new Error("Lua error: " + err);
}