我写了个c++服务器,用 npm run serve运行vue项目,能用vue的前端直接访问服务器,服务器也能提供服务——增删改查等
void HttpServer::HandleHttp(int serviceSock)//整个HTTP请求处理过程
{
// 获取整个http请求报文
string req = GetHttpRequest(serviceSock);
// 提取出请求正文或请求参数、请求报头中的url、
string method = extractMethod(req);
string origin = extractOrigin(req);
string url;
string json;//参数
if(method == "OPTIONS")
HandleOption(serviceSock,origin);
else
{
if(method == "GET")
{
url = extractGetURL(req);
json = extractGetJSON(req);
}
else if(method == "POST")
{
url = extractPostURL(req);
json = extractPostJSON(req);
}
// if(url == "/" || url.find(".") != string::npos)
// {
// cerr << "开始处理文件请求"<<endl;
// // 处理文件请求
// HandleFileRequest(serviceSock,url,method);
// }
// else{
// 处理请求
string res = HandleRequest(url, json);
// 回复客户端
HandleResponse(res, serviceSock,origin);
}
close(serviceSock);
}
但是我把vue项目打包后,我想让打包后的vue项目,在我的服务器上运行,会出乱码,静态文件也不会返回给浏览器,这是为什么,要怎么做?
std::unordered_map<std::string,std::string> contentTypeMap = {
{".html","text/html"},
{".js","application/javascript"},
{".css","text/css"},
{".ttf","application/font-woff2"},
{".woff","application/font-woff"},
{".js.map","application/json"}
};
........