首页 > 解决方案 > 在 React 中使用 npm 包时出现问题 - 说“TypeError:require is not a function”

问题描述

我正在尝试在 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 很陌生。
我想知道是否有某种不兼容?

我怎样才能使这项工作?

谢谢 !

标签: node.jsreactjspackage

解决方案


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

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


推荐阅读