You can export multiple things from a file.
Example: math.js
export const add = (a, b) => a + b;
export const multiply = (a, b) => a * b;
Or group them:
const subtract = (a, b) => a - b;
const divide = (a, b) => a / b;
export { subtract, divide };
Must use the same names
import { add, multiply } from "./math.js";
console.log(add(2, 3));
Changing names:
import { add as sum, multiply as product } from './math.js';
console.log(sum(2, 3));
Namespace import:
import * as MathUtils from './math.js';
console.log(MathUtils.add(2, 3));
console.log(MathUtils.multiply(2, 3));
A module may export one main value ( Only one default export allowed per file)
Example: logger.js
export default function log(message) {
console.log("LOG:", message);
}
Or:
function log(message) {
console.log("LOG:", message);
}
export default log;
import log from "./logger.js";
log("Hello!");
You can rename default imports freely
Example: Button.jsx
export default function Button() {
return <button>Click me</button>;
}
import Button from "./Button";
function App() {
return <Button />;
}
export default App;