I'm trying to import d3 into my node application but I'm getting the following error:
$ node src/main.js
this is logged from main.js 2021-07-20 2:33 PM
/Users/michaelosofsky/Developer/shh/node_modules/d3/src/index.js:1
export * from "d3-array";
^^^^^^
SyntaxError: Unexpected token 'export'
at Module._compile (internal/modules/cjs/loader.js:892:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/Users/michaelosofsky/Developer/shh/src/main.js:3:10)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
I tried following the method of importing d3 described in How to use D3 in Node.js properly?:
yarn add d3 (added 7.0.0 to my package.json)var d3 = require("d3"); in my main.jsnode src/main.jsThis seems to be exactly what's specified in answers such as https://stackoverflow.com/a/9949301/2848676.
How to I work around this error?
I found I could work around this issue by downgrading the version of d3 I was using:
yarn remove d3yarn add [email protected]node src/main.jsNow it does not give me that error anymore.
I don't know the nuances of node module conventions well enough to explain it but I do see a change in d3 7.0.0 that pertains to modules, so maybe that had something to do with the root cause: https://github.com/d3/d3/issues/3501.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With