hexo生成的静态页本地打开css引用不到?
如<link rel="stylesheet" href="/css/style.css" media="screen" type="text/css">
改成这样<link rel="stylesheet" href="css/style.css" media="screen" type="text/css">
本地就通过浏览器可以直接打开预览了,为什么hexo要这样生成?有没有什么办法可以生成下面那个样子的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
题主难道是直接在 public 目录打开的?
这就跟
/
的作用有关系了,/
开头指代的是当前根目录。假如你的文件位置是
D:/Hexo/public/index.html
,那这个/
就是表示 D 盘根目录。所以CSS最终访问的是D:/css/style.css
。而当你把 public 下的内容上传后,这个根目录就是服务器的根目录,也就是当前目录,自然可以访问到了。
一般本地都是用
hexo s
开启本地服务器预览的。再说下不加
/
会导致的问题。首先,在你博客主页不会有任何问题,因为不加
/
就表示当前目录。而如果是博客子页面,比如文章页的网址为www.blog.com/20160530/hello.html
,这个页面里没有/
那问题就来了,这个路径下能找到 css 文件吗?在配置文件中
这个要看你的主题里面怎么写的。你找找你用的主题里面,看
<head></head>
部分的代码组织,那里可以看到如何修改 css 引用文件的地址。举个例子,像 Random 这个主题,就是在这里定义 css 的引用路径,
layout/head.swig
的 43 行:是引用了主题配置文件中的 stylesheets 项,再看
_config.yml
中的 36 行:这就可以改好了。
url_for
函数。必须放在
source
目录下面