cosmopolitan/tool/net/demo/call-lua-module.lua

50 lines
1.5 KiB
Lua
Raw Normal View History

-- Call Lua Module Demo
--
-- Your Lua modules may be stored in the /.lua/ folder.
--
-- In our /.init.lua global scope earlier, we ran the code:
--
-- mymodule = require "mymodule"
--
-- Which preloaded the /.lua/mymodule.lua module once into the server
-- global memory template from which all request handlers are forked.
-- Therefore, we can just immediately use that module from our Lua
-- server pages.
Write[[<!doctype html>
<title>redbean call lua module demo</title>
<style>
body { padding: 1em; }
h1 a { color: inherit; text-decoration: none; }
h1 img { border: none; vertical-align: middle; }
pre { margin-left: 2em; }
p { word-break: break-word; max-width: 650px; }
dt { font-weight: bold; }
dd { margin-top: 1em; margin-bottom: 1em; }
.hdr { text-indent: -1em; padding-left: 1em; }
</style>
<h1>
<a href="/"><img src="/redbean.png"></a>
<a href="call-lua-module.lua">call lua module demo</a>
</h1>
<p>Your Lua modules may be stored in the /.lua/ folder.
<p>In our <code>/.init.lua</code> global scope earlier, we ran the code:
<pre>mymodule = require "mymodule"</pre>
<p>Which preloaded the <code>/.lua/mymodule.lua</code> module once into
the server global memory template from which all request handlers are
forked. Therefore, we can just immediately use that module from our
Lua Server Pages.
<p>
Your <code>mymodule.hello()</code> output is as follows:
<blockquote>
]]
mymodule.hello()
Write[[
</blockquote>
<p>
<a href="/">go back</a>
</p>
]]