unifreak / unifreak.github.io

unifreak's blog
https://unifreak.github.io
MIT License
24 stars 42 forks source link

crturl访问似乎不被chrome接受,建议改成site.baseurl #2

Closed Daniel-UCAS closed 7 years ago

Daniel-UCAS commented 7 years ago

_includes/header.html的22行 <li class="col-lg-3"><a href="{{crturl}}">HOME</a></li> 以及其他地方用的crturl似乎生成的是localhost:...的访问方式,chrome浏览器拒绝了这种形式的访问,建议改成site.baseurl

我是新手,不太懂原理,或许没说明白... 借用了这个模板,非常感谢。

unifreak commented 7 years ago

这个 crturl 是在 mode_switcher.html 中定义的, 会根据当前网站环境 (site.mode) 设置网址域名, 如果是本地则设置成 http://localhost:4000/. 你看下你的 _config.yml, 是不是设置了 mode: dev

Daniel-UCAS commented 7 years ago

嗯,把mode改成product就没问题了,多谢指点。请问这样处理有什么好处吗,因为我看到改成product模式在本地渲染也没问题

unifreak commented 7 years ago

这个只是为了简单的切换开发和线上环境。 在本地开发时切成 dev, 所有文件都是加载的本地的, 可以立即看到代码更改的效果。 本地开发完后, 记得改回 product, push 到 github。

改成 product 在本地的确没问题, 但是文件实际上是加载的 github page 上的, 你本地的代码更改在本地是看不到效果的。 你可以打开 f12 看看网络请求验证一下。

可能有更好的 Jekyll 环境管理方式, 但我没去找。