You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
build - compile PureScript sources to web/main.lua
Open one terminal for building, then execute:
$ build
Building...
PS Lua: compiling ...
Wrote linked modules to /home/yura/projects/purescript/purescript-lua/example/web/main.lua
Open other terminal for serving content with Nginx, run:
$ serve
NGINX: Listening on port 58080
nginx: [alert] lua_code_cache is off; this will hurt performance in web/conf/nginx.conf:13
2023/07/05 12:30:12 [notice] 1859398#1859398: using the "epoll" event method
2023/07/05 12:30:12 [notice] 1859398#1859398: openresty/1.21.4.1
2023/07/05 12:30:12 [notice] 1859398#1859398: built by gcc 12.3.0 (GCC)
2023/07/05 12:30:12 [notice] 1859398#1859398: OS: Linux 6.1.34
2023/07/05 12:30:12 [notice] 1859398#1859398: getrlimit(RLIMIT_NOFILE): 524288:524288
2023/07/05 12:30:12 [notice] 1859398#1859398: start worker processes
2023/07/05 12:30:12 [notice] 1859398#1859398: start worker process 1859399
lua_code_cache is off alert means that nginx isn't going to cache the lua script,
but instead will re-read it from disk upon every HTTP request, which is exactly
what we want in the development mode: it allows to re-build PS sources in the first
terminal and not to restart nginx in order to see the changes.
but it will fail when using Nginx as there is no global variable ngx which
is only defined when script is executed by nginx:
lua: web/main.lua:208: attempt to index a nil value (global 'ngx')
stack traceback:
web/main.lua:208: in function <web/main.lua:206>
web/main.lua:206: in main chunk
[C]: in function 'dofile'
(command line):1: in main chunk
[C]: in ?
About
Example project to demonstrate usage of the purescript-lua compiler backend