Comments (4)
It's probably worth documenting how to make this work. I had to fiddle a bit, but this worked after npm install node-fetch-polyfill
:
if (typeof fetch !== 'function') {
global.fetch = require('node-fetch-polyfill');
}
const csv = require('d3-fetch').csv;
from d3-fetch.
You need an environment that supports the Fetch API, such as a a web browser. Node does not currently support Fetch, though it may in the future. If you want to load this library in an environment that does not natively support Fetch you will need to load your own polyfill such as node-fetch.
from d3-fetch.
You need to install jsdom using yarn or npm.
Node.js does not support dom by default, thus the need to use jsdom for creating dom elements. Use d3 for all other manipulations except fetch operations. i.e d3.xml,d3.tsv
import jsdom from 'jsdom';
import * as d3 from 'd3';
const { JSDOM } = jsdom;
JSDOM.fromURL(
'your resource url',
).then((dom) => {
const doc = dom.window.document;
const states = d3
.select(doc)
.select('path')
.attr(':fme:ID');
console.log(states);
});
creating dom from file
JSDOM.fromURL(
'your resource url',
).then((dom) => {
const doc = dom.window.document;
}
dom from html string
const dom = new JSDOM(
`<p>Hello
<img src="foo.jpg">
</p>`,
{ includeNodeLocations: true }
);
from d3-fetch.
if (typeof fetch !== 'function') {
global.fetch = require('node-fetch-polyfill');
}
I have the following code after doing npm install node-fetch-polyfill
import express from 'express'
import cors from 'cors'
import { csv } from 'd3-fetch'
const app = express();
if (typeof fetch !== 'function') {
global.fetch = require('node-fetch-polyfill');
}
But when I used the csv
function, I still got ReferenceError: fetch is not defined
error
Here's the code that works for me in the end:
I did npm install node-fetch
, and then the following:
import express from 'express'
import cors from 'cors'
import { csv } from 'd3-fetch'
const app = express();
import fetch, {
Blob,
blobFrom,
blobFromSync,
File,
fileFrom,
fileFromSync,
FormData,
Headers,
Request,
Response,
} from 'node-fetch'
if (!globalThis.fetch) {
globalThis.fetch = fetch
globalThis.Headers = Headers
globalThis.Request = Request
globalThis.Response = Response
}
from d3-fetch.
Related Issues (20)
- Access denied under Basic Authentication HOT 3
- json method not working on newest version.. HOT 5
- Fetch broken on local file urls HOT 1
- Documentation gap for POST between d3-request and d3-fetch HOT 1
- JSON fetching discrepancy between v4 and v5 HOT 5
- Localhost slow data loading HOT 1
- Async await with d3 fetch functions? HOT 1
- d3.text() decode UTF-16 HOT 4
- Response's body lost when error is thrown HOT 1
- d3.append returns undefined when appending result from xml() HOT 3
- How to handle fetch errors? HOT 1
- How to initialise graph object from Javascript object?
- Is there going to be an on.("progress", ...) equivalent for d3 v5? HOT 1
- Fetching large files always gives up at 50MiB HOT 1
- Fix incompatibility with strict/safe CSP HOT 1
- Including d3-fetch.v1.js causes d3.svg to be undefined in nv.d3.js HOT 8
- d3.json interprets HTTP 204 as errors HOT 3
- mention workarounds for all those environments where networks don't allow JS-loading CSV files HOT 2
- d3.json doesn't recognize my function as a RequestInit HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3-fetch.