Покрытие старого js проекта в веб-пакет npm с ошибкой, например, Cannot read property 'className' of null - PullRequest
0 голосов
/ 21 июня 2020

Я конвертирую старый проект codekit в webpack. Я почти там, но получаю странную ошибку при использовании scrollReveal , которого у меня никогда не было.

Ошибка кажется чисто javascript связанной, хотя ...

Uncaught TypeError: Cannot read property 'className' of null

Это использование, которое в настоящее время работает на старом сайте.

// scroll reveal
const ScrollReveal = require('scrollreveal');


// jQuery
(function ($) {

    // scroll reveal profile listings
    if (!/(?:^|\s)ie\-[6-9](?:$|\s)/.test(document.body.className)) {
        window.sr = new ScrollReveal({reset: false});
        sr.reveal('[data-reveal="true"]', {duration: 1000});
    }

})(jQuery);

Я проверяю класс тела с некоторым регулярным выражением, чтобы убедиться scrollReveal не срабатывает в IE 6-9.

Все компилируется нормально, просто я получаю ошибку в журнале консоли и нет scrollReveal.

Любые идеи были бы отличными, спасибо.

1 Ответ

1 голос
/ 21 июня 2020

Добавьте оболочку вокруг вашего кода:

document.addEventListener("DOMContentLoaded", function(event) { 
  // scroll reveal
  const ScrollReveal = require('scrollreveal');

  // scroll reveal profile listings
  if (!/(?:^|\s)ie\-[6-9](?:$|\s)/.test(document.body.className)) {
    window.sr = new ScrollReveal({reset: false});
    sr.reveal('[data-reveal="true"]', {duration: 1000});
  } 
});
...