【问题标题】:CNAME set up on jekyll - CSS won't load?在 jekyll 上设置 CNAME - CSS 不会加载?
【发布时间】:2018-01-26 11:14:30
【问题描述】:

我在我正在开发的 jekyll 网站上设置了一个 CNAME。

我的 config.yml 有以下内容:

baseurl: "/seenit"
url: "dev.seenit.studio/"

我尝试加载的 css 文件在 head.html 包含如下所示:

<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css" />

我知道如果我将我的 baseurl 更改为 baseurl: "/",一切都会在 CNAME 上正确加载,但是当我转到 127.0.0.1:4000/seenit/ 时,我在本地遇到了同样的问题。

有没有人知道我可以让资产文件在本地和 CNAME 中正确加载的解决方案?

【问题讨论】:

    标签: javascript html css jekyll


    【解决方案1】:

    baseurl: “”
    Baseurl 是站点的子路径。 URL 是当您 jekyll build 时解析的地址。还要小心在配置中使用斜杠,并且在 {site.baseurl} 之后以斜杠开头,否则你会得到双斜杠。

    【讨论】:

      【解决方案2】:

      我为感兴趣的人提供了一个解决方案。

      我将 _config.yml 更改为:

      # SITE CONFIGURATION baseurl: "/"

      然后我在根目录中添加了一个 _debug.yml 文件,如下所示:

      # SITE CONFIGURATION FOR LOCAL WORK # RUN jekyll serve --config _config.yml,_debug.yml name: Seenit [DEBUG MODE] debug: true url: "http://127.0.0.1:4000" baseurl: "/seenit"

      对于任何本地工作,我现在运行jekyll serve --config _config.yml,_debug.yml

      【讨论】:

        【解决方案3】:

        你不需要两个配置文件:

        url: "http://127.0.0.1:4000" 将在您运行本地服务器时自动设置,无论 url 键有什么,所以它应该包含您真实网站的 url。

        如果您设置baseurl: "/seenit" 然后在本地运行服务器,将在127.0.0.1:4000/seenit 提供服务。

        所以你最终的_config.yml 应该是这样的:

        name: Seenit
        url: "http://example.com"
        baseurl: "/seenit"
        

        这两种情况都适用。

        【讨论】:

        • 但是 baseurl 在这两种情况下都被考虑在内,导致网站上线时出现 404。
        • @DavidJacquel 是的,我没有考虑到在本地需要 baseurl 但不是实时的,那么完全删除 baseurl 可能是有意义的。
        猜你喜欢
        • 1970-01-01
        • 2016-02-24
        • 1970-01-01
        • 2016-01-14
        • 1970-01-01
        • 2018-03-28
        • 2017-09-18
        • 1970-01-01
        • 2019-04-25
        相关资源
        最近更新 更多