TypeError:使用“superheroes”npm 包时,superheroes.random 不是一个函数

问题描述 投票:0回答:1

我尝试在 Node.js 项目中使用

superheroes
npm 包来生成随机超级英雄名称,但我一直遇到错误:

TypeError: superheroes.random is not a function

这是我的代码:

import superheroes from "superheroes";

const name = superheroes.random();

console.log(`I am ${name}!`);

当我运行它时,我也收到此警告:

(MODULE_TYPELESS_PACKAGE_JSON) Warning: Module type of file is not specified and it doesn't parse as CommonJS. Reparsing as ES module because module syntax was detected.
To eliminate this warning, add "type": "module" to package.json.

我尝试过的步骤:

  1. "type": "module"
    中添加了
    package.json
    以解决模块类型警告。

  2. 使用以下方法重新安装了

    superheroes
    软件包:

    npm uninstall superheroes
    npm install superheroes
    
  3. 检查 Node.js 版本 (

    node -v
    ) 并确保它是最新的。

观察:

  • 当我记录

    superheroes
    对象(
    console.log(superheroes);
    )时,它似乎没有
    random()
    功能。

  • superheroes.all
    属性工作正常(它包含超级英雄名称列表)。

为什么

superheroes.random
没有按预期工作?包中是否有错误,或者我使用不正确?如何使用此包生成随机超级英雄名称?

node.js npm
1个回答
0
投票

回到 3.0.0 版本,你曾经有一个

random()
方法。它在 4.0.0 中发生了变化,现在称为
randomSuperhero()

将安装降级以使用 3.0.0,或者更好的是,更改代码以使用现代

randomSuperhero()

© www.soinside.com 2019 - 2024. All rights reserved.