不了解React / WebPack中的这个错误是什么意思

时间:2018-01-09 13:55:40

标签: reactjs webpack material-design-lite

所以我正在尝试将具有Material Design Lite的现有静态站点移动到React。

我使用Create-React-App包创建一个新的反应应用程序。我运行命令“npm i'paterical-design-lite'--save” - 这两个都有效。

现在,在我的App.JS文件中,我将其导入。

import componentHandler from 'material-design-lite';

class App extends Component {

   componentDidMount() {
    componentHandler.upgradeAllRegistered();
  }

当我这样做时,我收到此错误

  

TypeError:__ WWEPACK_IMPORTED_MODULE_2_material_design_lite ___ default.a.upgradeAllRegistered不是函数

并且它在线组件抱怨.Handler.upgradeAllRegistered();

事情是这个功能确实存在。我在调试时可以访问它,我也可以在chrome控制台中访问它。

这个错误是什么意思?

1 个答案:

答案 0 :(得分:1)

此库未准备好用作es6模块。您的import语句导入一个空对象,因为material-design-lite不会导出任何内容。

您可以像这样导入模块:

import 'material-design-lite';

这会将componentHandler对象附加到window对象。 您可以通过window.componentHandler访问它。您只需确保在应用程序中的任何位置访问它之前进行导入。