What is the syntax to export a function from a module in Node.js?
function foo() {}
function bar() {}
export foo; // I don't think this is valid?
export default bar;
In Node you export things with module.exports
special object. For example:
This exports both functions:
module.exports = { foo, bar };
They can be used as:
const { foo, bar } = require('./module/path');
To export one of those functions as top-level object you can use:
module.exports = foo;
module.exports.bar = bar;
which can be used as:
const foo = require('./module/path');
and:
const { bar } = require('./module/path');
or:
const foo = require('./module/path');
const { bar } = foo;
or:
const foo = require('./module/path');
const bar = foo.bar;
etc.
This is "the syntax to export a function from a module in Node.js" as asked in the question - i.e. the syntax that is natively supported by Node. Node doesn't support import
/export
syntax (see this to know why). As slezica pointed put in the comments below you can use a transpiler like Babel to convert the import
/export
keywords to syntax understood by Node.
See those answers for more info:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With