0

I have files that use the Node.js framework and other files that I want to implement without using that. When I try to import a class from my node files, where I used module.exports, to my js files, i get the error that "the requested module does not provide an export named default". So is there any way for me to import the node.js class in my JavaScript?

1 Answer 1

2

I think only in two methods for solved your problem

METHOD 1

Module1.js

class HelloWorld {
  getHelloWorld() {
    return 'Hello World';
  }
}

module.exports = HelloWorld

Module2.js

const HelloWorld = require('./module1.js');
const helloWorld = new HelloWorld();

METHOD 2 Node <= v12 (Extension file: .msj and run it like node --experimental-modules module2.mjs)

module1.mjs

export default class HelloWorld {
    getHelloWorld() {
        return 'Hello World';
    }
}

module2.msj

import HelloWorld from './module1.mjs';
const helloWorld = new HelloWorld();
console.log(helloWorld.getHelloWorld());

METHOD 2 Node >= v13 (Extension files: .msj or Add { "type": "module" } in the package.json)

module1.mjs or module1.js if you add { "type": "module" } in the package.json

export default class HelloWorld {
    getHelloWorld() {
        return 'Hello World';
    }
}

module2.mjs or module2.js if you add { "type": "module" } in the package.json

import HelloWorld from './module1.mjs';
const helloWorld = new HelloWorld();
console.log(helloWorld.getHelloWorld());

NOTE: If you are interested in knowing the difference between "module.exports vs export default", this topic can help you module.exports vs. export default in Node.js and ES6

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.