How Could We Fix The Problem: ReferenceError: Fetch Is Not Defined?

When you ran your code, you saw the error messages: “ReferenceError: fetch is not defined

As a result, after some research, we will present potential alternatives to programmers. Do not think too much, and let’s get going on correcting this error.

Under What Conditions Would This Issue Occur?

In general, fetch was created for one browser and converted to node.js in a third-party module that you appear to be lacking.

You may experience this issue while using fetch in the NodeJS application.

ReferenceError: fetch is not defined

Fix The Problem: ReferenceError: Fetch Is Not Defined

You’ll need to utilize some external module, such as node-fetch, for this. Install this in the Node application, and add some lines to the head of your files that use the retrieve API.

Let’s take a closer look at stages using the three techniques listed below.

Method 1

The first way is to use the cross-fetch.

npm install --save cross-fetch
With promises, you can use this script.
import fetch from 'cross-fetch';
// Or just: import 'cross-fetch/polyfill';

fetch('//api.github.com/users/lquixada')
  .then(res => {
    if (res.status >= 400) {
      throw new Error("Bad response from server");
    }
    return res.json();
  })
  .then(user => {
    console.log(user);
  })
  .catch(err => {
    console.error(err);
  });
In the case of async/await, type this:
import fetch from 'cross-fetch';
// Or just: import 'cross-fetch/polyfill';

(async () => {
  try {
    const res = await fetch('//api.github.com/users/lquixada');

    if (res.status >= 400) {
      throw new Error("Bad response from server");
    }

    const user = await res.json();

    console.log(user);
  } catch (err) {
    console.error(err);
  }
})();

Method 2

You can use two syntaxes to address this problem.

Install this in the Node application as follows. Then add the second line

npm install node-fetch
const fetch = require("node-fetch");

Alternatively, you may add the following line at the files in which you are utilizing the retrieve API:

import fetch from "node-fetch";

Now you may implement fetch in the NodeJS application.

Method 3

Suppose it must be available on a worldwide scale. This is a fast and dirty workaround; please avoid using this in the codebase.

global.fetch = require("node-fetch");

Conclusion

In general, resolving the error “ReferenceError: fetch is not defined” is indeed not difficult.

We are confident that our answer will help you complete your project promptly. Hopefully, you’ll be able to produce even more incredible intellectual goods with nodejs.


Related articles
Scroll to Top