在 nim 中构建此代码时:
import jester, asyncdispatch
let stuff = "thing"
routes:
get "/":
resp stuff
runForever()
Run Code Online (Sandbox Code Playgroud)
结果是:
mytest.nim(3, 1) 模板/通用实例化来自此处 lib/core/macros.nim(369, 70) 模板/通用实例化来自此处 lib/pure/asyncmacro.nim(355, 31) 警告:“matchIter”是不是 GC 安全的,因为它访问的是使用 GC 内存的全局“东西”[GcUnsafe2]
我想它指的是变量stuff,并且我想很难诊断,因为小丑路由是某种 DSL。
如果该消息的意思就是它的意思,那么为什么它只是一个警告?还是误报?或者更重要的是,在路由中使用变量的概念根本不可能吗?
我想在生产服务器中使用小丑。
但是,小丑只能在运行同步的情况下在terminal.app中运行。
我想知道如何像php-pfm那样运行弄臣(jaster)异步程序。
我写了这段代码:
import jester, asyncdispatch, json
routes:
get "/":
resp "Hello World!"
get "/users/@id":
var data = %*{"id": @"id"}
resp $data, "application/json"
runForever()
Run Code Online (Sandbox Code Playgroud)
现在,我运行以下代码:
nim c -r cgi.nim
Run Code Online (Sandbox Code Playgroud)
如何在Apache服务器后面运行它?