我尝试在 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.
我尝试过的步骤:
在
"type": "module"
中添加了package.json
以解决模块类型警告。
使用以下方法重新安装了
superheroes
软件包:
npm uninstall superheroes
npm install superheroes
检查 Node.js 版本 (
node -v
) 并确保它是最新的。
观察:
当我记录
superheroes
对象(console.log(superheroes);
)时,它似乎没有random()
功能。
superheroes.all
属性工作正常(它包含超级英雄名称列表)。
为什么
superheroes.random
没有按预期工作?包中是否有错误,或者我使用不正确?如何使用此包生成随机超级英雄名称?
回到 3.0.0 版本,你曾经有一个
random()
方法。它在 4.0.0 中发生了变化,现在称为 randomSuperhero()
。
将安装降级以使用 3.0.0,或者更好的是,更改代码以使用现代
randomSuperhero()
。