2017-02-25 42 views
1

我無法導入particles.js庫。Uncaught TypeError:_particles2.default.load不是函數 - React,create-react-app,particlesJS

我正在使用create-react-app,並且也遵循顆粒js github頁面上的說明。

啓動 '創建反應的應用程序內',我安裝particles.js

npm install particles.js --save 

然後在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> 
); 

}

但是控制檯給出錯誤 未捕獲TypeError:_particles2.default.load不是函數

如果我把console.log(particlesJS)給出一個空對象,所以我很確定問題出在我如何加載包。基本上,該包甚至沒有被加載,這就是爲什麼particlesJS對象沒有可用的.load()函數的原因。

任何想法如何解決這個問題?

順便說一句,已經通過'react-particles-js'包得到了包的工作,但仍然很好奇,看看如何通過直接使用package.js包來使其工作。

回答

3

看起來庫的編寫不考慮JavaScript捆綁程序,所以它並不像您期望的那樣與import聲明一起工作。相反,它在window對象上設置全局變量。

因此,要使用它,你可以這樣做:

import 'particles.js/particles'; 
const particlesJS = window.particlesJS; 

希望這有助於!

+0

這工作。謝謝!爲了參考,粒子JSON配置文件應該存儲在'公用文件夾' –

相關問題