Как включить javascript из / js / в jekyll - PullRequest
1 голос
/ 22 апреля 2020

Я добавил код согласия повара ie от здесь

В html есть

<script>
...
if(readCookie('cookie-notice-dismissed')=='true') {
    {% include ga.js %}
    {% include chatbutton.js %}
}
...
</script>

. Это помещено в _includes, но я не могу понять, как включить javascript как /js/foo.js, расположенный в другом каталоге. Я полагаю, что это связано с bundler в активах jekyll.

До сих пор я добавлял javascript в свои макеты следующим образом, но пока не использовал {% include %} для этого, и я не знаю, как сообщить _includes/cookie_consent.html, где его найти.

<script src="/js/foo.js"></script>
<script>
    $(function(){
        new Foo(".js-foo");
    });
</script>

1 Ответ

1 голос
/ 23 апреля 2020

Я вижу два варианта решения этой проблемы:

  1. Вы создаете файл в _includes, который содержит ссылки на дополнительные JS, которые вы хотите. Например:
# /_includes/bar.html
<script src="/js/foo.js"><\/script>

Внутри _cookie_consent.html затем можно добавить {% include bar.html %}

Вы добавляете ссылку прямо на свое тело.
if(readCookie('cookie-notice-dismissed')=='true') {
    const js = '<script src="/js/foo.js"></script>'
    document.body.appendChild(js)
}
...