Javascript 将旧js项目转换为网页包npm时出现错误,如无法读取属性';类名';空的

Javascript 将旧js项目转换为网页包npm时出现错误,如无法读取属性';类名';空的,javascript,webpack,Javascript,Webpack,我正在将旧的代码包项目转换为网页包。我差一点就到了,但使用时出现了以前从未出现过的奇怪错误 有一个错误似乎纯粹与javascript有关 未捕获类型错误:无法读取null的属性“className” 这是当前在旧站点上使用的用法 // scroll reveal const ScrollReveal = require('scrollreveal'); // jQuery (function ($) { // scroll reveal profile listings i

我正在将旧的代码包项目转换为网页包。我差一点就到了,但使用时出现了以前从未出现过的奇怪错误

有一个错误似乎纯粹与javascript有关

未捕获类型错误:无法读取null的属性“className”

这是当前在旧站点上使用的用法

// 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);
我正在做的是用一些正则表达式测试body类,以确保不会在IE 6-9中触发

一切都编译得很好,只是控制台日志中出现错误,没有滚动显示


任何想法都很好,谢谢。

在代码周围添加一个包装:

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});
  } 
});

document.body
是否为空?此代码何时运行?啊,是的,我已将此脚本移动到
中,以将jquery作为文件包含。我想现在发射太早了。但我正在使用这个内置的
(函数($){
,我认为它已经准备好了。啊,很好的一个家伙,工作起来很好。非常感谢,我也会使用其他纯js的东西。5分钟后接受答案