cppcms的js文件路径问题,也可以换为cppcms的资源文件路径问题

来源:互联网 发布:艺考软件 编辑:程序博客网 时间:2024/05/17 00:07

下午弄了一下午的cppcms的路径,自己仿照cppcms的官方文档中的例子做的前端展示页面,总是不能加载js,换句话说,总是按照路径找不到该js,下面我就说一下这个问题。研究了三四个小时,最后终于解决了。

问题描述:

  在cppcms的工程当中,放html.tmpl文件的文件夹中放了很多.tmpl的文件,这些是原始的html文件,这些文件中需要用到js,css等样式来进行渲染和处理,但是路径确不是按照通常的相对路径或者绝对路径来想当然的处理,在cppcms需要进行指定。

第一种情况:

 在本地运行时 配置文件如下

{"service" : {"ip":"0.0.0.0","api" : "http", "port" : 8082},"http" : {"script_names" : ["/query"]},"algorithm":{    "composition":{    "news":0.4,    "picture":0.2,    "video":0.2,    "tweet":0.2    }    },     "file_server" : {                  "enable" : true,                  "document_root" : "../resources"       },}
上面中的file_server就是用来指定资源文件所在地的,比如你的资源文件是放在resources里,这里的../resources是相对于你执行可执行文件的地址。上面的ip和api就是localhost的运行设置。也可以使用绝对路径,如果是自己测试的话可以使用相对路径,但是如果是将自己的电脑作为服务器的话还是用绝对路径比较好。

第二种情况 在nginx的conf配置文件中:

upstream semsbackend {    server localhost:8082;}server {    listen       8088;    server_name  localhost;    access_log /opt/ide.log main;    location = /favicon.ico {        log_not_found off;        log_subrequest off;    }    location / {        rewrite ^/(.*)$ http://$host/ide/errors;    }     location /ide_log {    alias /data/ide_log/;autoindex on;allow 127.0.0.1; allow 10.58.0.0/16;        deny all;      }    location ~ ^/(images|script|style|plugin)/ {        root /opt/sems/resources;        expires 1d;    }    include ./conf.d/fastcgi.sems;}
里面有个location字段,介绍了root的所在路径是在/opt/sems/resources这里的使用nginx反向代理,模拟真实环境,所以直接使用了绝对路径,将资源文件放在了/opt/sems/resource下面,程序可以通过这里找到需要的资源文件

0 0
原创粉丝点击