node 中 referenceerror: fetch is not define 错误-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > node.js >

node 中 referenceerror: fetch is not define 错误

作者:迹忆客 最近更新:2022/11/18 浏览次数:

referenceerror: fetch is not defined”发生在 fetch() 方法不被支持的环境中——最常见的是 nodejs。 要解决该错误,需要安装并导入 node-fetch 包,该包在 nodejs 运行时提供了一个 fetch() 兼容的 api。

要解决“referenceerror: fetch is not defined”,安装并导入 node-fetch 包。

如果我们的项目没有 package.json 文件,请在项目的根目录中创建一个:

# 👇️ 只有当你还没有 package.json 文件时才运行它
$ npm init -y

现在安装 node-fetch 库。

$ npm install node-fetch

现在我们可以像在浏览器中使用 fetch() 方法一样导入和使用该模块。

import fetch from 'node-fetch';
async function getuser() {
  try {
    const response = await fetch('https://randomuser.me/api/');
    if (!response.ok) {
      throw new error(`error! status: ${response.status}`);
    }
    const result = await response.json();
    return result;
  } catch (err) {
    console.log(err);
  }
}
console.log(await getuser());

在撰写本文时,要在 nodejs 项目中使用 es6 模块导入和导出,我们必须在 package.json 文件中将类型属性设置为 module

{
  "type": "module",
  // ... 👇️ rest
}

如果我们使用 typescript,则不必为 node-fetch 包安装类型,因为它们是默认包含的。

如果我运行我的 nodejs 脚本,我会通过调用 api 获得结果。

较新版本的 node-fetch 包仅与导入/导出的 es6 模块语法兼容。 如果您使用旧的 nodejs 版本,请安装 node-fetch 包的版本 2。


node 中 referenceerror: fetch is not define 错误

仅当我们使用较旧的 nodejs 版本并希望使用 require 语法而不是导入/导出时才这样做。

$ npm install node-fetch@2

我们安装了 node-fetch 包的第 2 版。

确保我们的 package.json 文件中没有将 type 属性设置为 module

现在我们可以使用较旧的 require 函数导入 fetch 包。

// 👇️ using older require syntax
const fetch = require('node-fetch');
async function getuser() {
  try {
    const response = await fetch('https://randomuser.me/api/');
    if (!response.ok) {
      throw new error(`error! status: ${response.status}`);
    }
    const result = await response.json();
    return result;
  } catch (err) {
    console.log(err);
  }
}

我们必须安装 node-fetch 包的版本 2 才能在我们的 nodejs 应用程序中使用 require 语法。

最好与客户端和服务器端代码之间的导入保持一致。 但是,如果我们必须支持旧版本的 nodejs,这种方法就可以完成工作。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 node.js 中编码 url

发布时间:2023/03/27 浏览次数:401 分类:node.js

在这篇简短的文章中,我们将学习如何在 node.js 中进行 url 编码。

在 node.js 中编码 base64

发布时间:2023/03/27 浏览次数:278 分类:node.js

在本文中,我们将学习如何在 node.js 中将字符串或文本转换为 base64。

node.js 与 react js 的比较

发布时间:2023/03/27 浏览次数:173 分类:node.js

本文比较和对比了两种编程语言,node.js 和 react。react 和 node.js 都是开源 javascript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图