Switches between unfetch & node-fetch for client & server.
npm install @plasmicapp/isomorphic-unfetchSwitches between unfetch & node-fetch for client & server.
Fork differences:
1. On Node, node-fetch is always used instead of global.fetch.
This is a workaround this undici bug
which is negatively affecting many versions of Node and Next.js.
2. Don't polyfill, leave global.fetch alone.
3. Applies a patch on node-fetch-cjs to this node-fetch bug by following this PR. Then we inline node-fetch-cjs into the built version of server.js, so that it will contain our patched version of node-fetch-cjs.
This project uses node and npm. Go check them out if you don't have them locally installed.
``sh`
$ npm i isomorphic-unfetch
Then with a module bundler like rollup or webpack, use as you would anything else:
`javascript
// using ES6 modules
import fetch from 'isomorphic-unfetch'
// using CommonJS modules
const fetch = require('isomorphic-unfetch')
`
As a ponyfill:
`js
import fetch from 'isomorphic-unfetch';
fetch('/foo.json')
.then( r => r.json() )
.then( data => {
console.log(data);
});
`
Globally, as a polyfill:
`js
import 'isomorphic-unfetch';
// "fetch" is now installed globally if it wasn't already available
fetch('/foo.json')
.then( r => r.json() )
.then( data => {
console.log(data);
});
``