-2

utilities/calculator.js

export default class Calculator {
    // class functions here
}

utilities/converter.js

export default class Converter {
    // class functions here
}

utilities/index.js

import Calculator from './calculator';
import Converter from './converter';

export {
      Calculator: Calculator.default,
      Converter: Converter.default
};

app.js

import Utilities from './utilities';

const calculator = new Utilities.Calculator(); // I want to call it like new Calculator();
const converter = new Utilities.Converter(); // I want to call it like new Converter();
  • And what's the question? – FZs Mar 03 '19 at 07:24
  • 2
    Nodejs uses CommonJS module system and you've written ES Modules. Please explain a bit more. Where are you expecting to run the code? Browser with some module bundler? Or directly in Nodejs? Also notice when you do `import someModule from './someModule'`, you are importing the `default` only. Also `export { Calculator: Calculator.default }` is a syntax error. You will find this useful https://stackoverflow.com/questions/36795819/when-should-i-use-curly-braces-for-es6-import – Swashata Ghosh Mar 03 '19 at 07:24
  • 2
    Possible duplicate of [Include es6 class from external file in Node.js](https://stackoverflow.com/questions/39005332/include-es6-class-from-external-file-in-node-js) – paulsm4 Mar 03 '19 at 07:25
  • `import {Calculator, Converter} from './utilities';` – Scott Rudiger Mar 03 '19 at 07:25
  • Done thanks Scott and Swashata – Devanshu Linux Mar 03 '19 at 07:26

1 Answers1

1

In app.js, you can use import { Calculator, Converter } from './utilities'; and your code should be like

import { Calculator, Converter } from './utilities';

const calculator = new Calculator();
const converter = new Converter(); 
Arif Khan
  • 5,039
  • 2
  • 16
  • 27