在 React 中使用 npm 包时出现问题 - 说“TypeError: require is not a function”

时间:2021-02-10 09:10:32

标签: node.js reactjs package

我正在尝试在 React 应用程序中使用包 lastfm。 我已经安装了

npm install lastfm

官方文档说它应该这样使用:

var LastFmNode = require('lastfm').LastFmNode;

var lastfm = new LastFmNode({
  api_key: 'abc',
  secret: 'secret'
});

这就是我在 React 代码中使用它的方式:

  import {LASTFM_API,LASTFM_API_SECRET} from "./Constants";
  import {LastFmNode} from 'lastfm';

  export class Lastfm {
    static scrobbleTrack(track): void {
      var lastfm = new LastFmNode({
        api_key: LASTFM_API,
        secret: LASTFM_API_SECRET,
        useragent: 'appname/vX.X MyApp'
      });
    }
  }

触发此错误(来自包):

<块引用>

TypeError: require 不是 lastfm-request.js:3 中的函数

我对 React 和 NPM 还很陌生。
我想知道是否有某种不兼容?

我怎样才能做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

该包将在 Node 服务器上使用,而不是在 React App 上使用。

编辑 嗨,对不起,我不能发表评论,因为我的积分少了。 你也不能使用那个,因为它也是一个节点包。
如果您看到必须使用的语法:
require('something');
通常表示它是一个节点包,因为在 React 中,您的导入语法是这样的:
const abc from 'xyz';