Search code examples
javascripttypescriptecmascript-6commonjs

rewrite require to import statement


I am trying to use https://www.npmjs.com/package/json-bigint with native BigInt support. In CommonJS I'd do:

var JSONbigNative = require('json-bigint')({ useNativeBigInt: true });

What is the ES6 syntax equivalent? This is not working:

import  * as JSONBigIntWrapper from 'json-bigint';
const JSONBigInt = JSONBigIntWrapper({useNativeBigInt: true});

as it complains that JSONBigIntWrapper is not a function.

What are the generic rules for rewriting rewrite to import?


Solution

  • With ES6 imports, importing * is not the equivalent of what require() does.

    What you are looking to get is the default module export, as shown in the code below

    import whatever_you_want_the_default_to_be_named, {} from 'json-bigint'