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?
Asked
Active
Viewed 1,052 times
1 Answers
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

Julio Peña
- 471
- 3
- 5