A module is a JavaScript file that exports one or more values. The exported value can be a variable, an object, or a function.
An ES6 import synta...
For further actions, you may consider blocking this person and/or reporting abuse
How to make NPM module works both with ES6 and CommonJS:
Create
./index.mjs
for ES6 and./index.js
for CommonJS.In
./package.json
file…Example: github.com/taufik-nurrohman/quote
It seems a terrible idea to duplicate the entirety of the code only because of the two or three first lines.
Any better solution? Adding build tool to copy and convert the ES6 script into CommonJS script in the same project is too much. I do this manually since this is not a large project. I can live with that.
Yes, that's the point of transpilers, just add a build step that converts the code for you instead of doing it manually.
If that's a small project, and it will not be bundled into a web app (i.e. it's a Node package), then just use the CommonJS version. That's what I do in node-argon2.
I would like to point out that there are a couple of nuances when moving from babel-translated import syntax to native ES module imports:
I'd say it is a bit messy at the moment but it is the future and we have to embrace it. For more information, See
Thanks for sharing this. I'll take a look. :)
Thanks, now I can use import without making project using React hahaha
Pretty sure you can import from files that end with an
.mjs
extension in node 14+Yeah,
.mjs
is another alternative but if one is using 14+, then I personally think adding"type": "module"
inpackage.json
is more viable.oh my man thank you this helped me a lot 👌
Isn't it better to use webpack or parcel like module bundlers ? and I guess they come with babel ?
It depends in the size of the application. I haven’t used webpack + nodejs so cant say much on what plugins are included. Seems an interesting thing to delve into.
If you want to check if a third party package supports ES Modules, I made this little tool to help
esmodules.dev/
I think typescript is a better way.
Check here