前言:
有时需要访问一些静态的内容,如图像和CSS文件,Cutelyst的StaticSimple插件提供了一种简单方法,本篇记录下如何使用这个插件
一、创建CUTELYST项目
找一个空白目录,注意不能有中文或空格,执行如下命令
#创建应用
cutelyst3-qt5.exe --create-app myapp
#进入应用目录
cd myapp
#创建名为“Site”的控制器
cutelyst3-qt5.exe --controller Site
注:一定要进入应用的目录,否则创建控制器会出现异常
通过执行cutelyst命令创建名为“Site”的控制器,将创建一个src/site.cpp和src/site.h文件,但笔者发现,这两个文件没什么可看的,并且需要手工注册这个控制器
二、修改源码并编译
使用QtCreator打开并配置工程,
1.修改src/CMakeLists.txt工程
target_link_libraries(myapp
...
Cutelyst::StaticSimple # Add this line
...
}
2.注册插件
修改src/myapp.cpp
...
#include <Cutelyst/Plugins/StaticSimple/StaticSimple>
...
bool myapp::init()
{
...
new StaticSimple(this);
...
}
注册完成后,直接编译,可以得到生成的动态库
windows下是myapp.dll
linux下是libmyapp.so
二、运行新的动态库
在root目录下放置个文件,笔者放置的是root/static/css.main.css
设置好环境变量,执行如下命令
#运行服务
cutelyst3-qt5.exe --server --app-file src/myapp -- --chdir ..
#--app-file 后的参数是应用程序(dll库)的位置,请读者自行修改
#注:可以省略dll扩展名
注:可以省略应用程序后缀,如.so, .dll, .dylib,因为它会自动查找带有适当后缀的文件。
注:--chdir 后面的参数,是root所在的目录,使用影子编译的小伙伴要注意下,一定要放对参数
命令行输出如下
运行后,打开本地浏览器,输入localhost:3000/static/css/main.css,显示如下
命令行输出如下
至此,本次测试完成
本次测试示例源码下载
后记
从下篇开始,在原有基础上,添加,实现个简单的数据库查询并显示