Estoy tratando de importar d3 a mi aplicación de nodo, pero recibo el siguiente 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.Intenté seguir el método de importación de d3 descrito en ¿Cómo usar D3 en Node.js correctamente? :
yarn add d3 (agregado 7.0.0 a mi paquete.json)var d3 = require("d3"); en mi main.jsnode src/main.jsEsto parece ser exactamente lo que se especifica en respuestas como https://stackoverflow.com/a/9949301/2848676 .
¿Cómo soluciono este error?
Descubrí que podía solucionar este problema degradando la versión de d3 que estaba usando:
yarn remove d3yarn add d3@4.12.2node src/main.jsAhora ya no me da ese error.
No conozco los matices de las convenciones del módulo de nodo lo suficientemente bien como para explicarlo, pero veo un cambio en d3 7.0.0 que se relaciona con los módulos, así que tal vez eso tenga algo que ver con la causa principal: https://github. com/d3/d3/issues/3501 .