我想尝试一下nxweb。所以我成功安装了它。不幸的是,文档是不存在的。在挖掘代码和INSTALL注释后,我认为我必须将C
文件放在modules子目录中,并通过以下方式重新编译主可执行文件:
gcc -O2 -g main.c modules/*.c -o mynxweb `pkg-config --cflags --libs nxweb`
由于这没有用,我在main.c
中找到了一些似乎处理模块注册的代码。所以我补充道:
NXWEB_HANDLER_SETUP(my_click, "/click", click, .priority=1000);
并重新编译。它编译得很好。但我在click.o
目录中找不到click.c
(我的源文件名为src/bin
)。信息消息也没有提到我的模块。所以我对我所缺少的东西感到茫然。
也许我们可以在Stackoverflow上启动一个小的nxweb noob文档。
答案 0 :(得分:3)
基本上,程序如下:
从source构建并安装nxweb。按照INSTALL文件中的说明操作。这将安装nxweb库。
编写模块。以bin/modules/hello.c
为例。确保其中包含NXWEB_DEFINE_HANDLER(my_unique_handler_name, ...)
。
使用提供的main.c
和您的模块构建nxweb可执行文件,将其链接到nxweb库:
gcc -O2 -g main.c my_module.c -o mynxweb `pkg-config --cflags --libs nxweb`
通过指定应调用处理程序的URL前缀,在nxweb_config.json中配置routing
表:
{ "prefix":"/my_handler_url", "handler":"my_unique_handler_name" },
启动/重启nxweb。
答案 1 :(得分:1)
我找到了它!
您还必须将模块名称和路由路径添加到nxweb_config.json
。
例如:
{ // see modules/click.c
"prefix":"/click", "handler":"click"
},