未捕获的TypeError:_particles2.default.load不是函数 - React,create-react-app,particlesJS

Sam*_*eri 1 reactjs particles.js create-react-app

导入particle.js库时遇到问题.

我正在使用create-react-app,并且遵循粒子js github页面上的说明.

启动'create-react-app'后,我安装particle.js

npm install particles.js --save
Run Code Online (Sandbox Code Playgroud)

然后在App.js文件中我的相关部分是:

import particlesJS from 'particles.js'

componentDidMount(){
    //particles.js github page says to load package like so:
    particlesJS.load('particles-js', 'assets/particles.json', function() {
      console.log('callback - particles.js config loaded');
    });
},

render() {
    return (
       <div>
            //div to include particles canvas, as specified in particles.js github page         
            <div id="particles-js"></div>
       </div>
);
Run Code Online (Sandbox Code Playgroud)

}

但是控制台给出错误Uncaught TypeError:_particles2.default.load不是函数

如果我放入console.log(particlesJS)它会给出一个空对象,所以我很确定问题是我如何加载包.基本上,甚至没有加载包,这就是为什么particleJS对象上没有.load()函数可用.

任何想法如何解决这一问题?

顺便说一句,让包通过' react-particles-js '包工作,但仍然很好奇,看看如何直接使用package.js包让它工作.

Dan*_*mov 11

看起来这个库是在不考虑JavaScript捆绑包的情况下编写的,所以它并没有import像你期望的那样使用该语句.相反,它在window对象上设置一个全局变量.

所以要使用它你可以做类似的事情:

import 'particles.js/particles';
const particlesJS = window.particlesJS;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!