Import '.json' extension in ES6 Node.js throws an error

DarkLite1 picture DarkLite1 · Feb 13, 2020 · Viewed 8.1k times · Source

We're trying to use the new ways of exporting and imported modules for ES6 with Node.js. It's important for us to get the version number from the package.json file. The following code should do that:

import {name, version} from '../../package.json'

However, on execution the following error is thrown: ^

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for T:\ICP\package.json imported from T:\ICP\src\controllers\about.js

Is there something we're missing?
Is the extension .json not supported?
Is there another way to retrieve this information using Node.js 13+?

Answer

Idir Hamouch picture Idir Hamouch · Feb 13, 2020

According to the Node.js ES Modules docs --experimental-json-modules. is required for importing JSON files.

Include the --experimental-json-modules flag for the module to work.

node --experimental-json-modules about.js